|    | 
     幾ら調べても分からない為、こちらで質問させて頂きます。 
 
Excel2016です。 
シート上にボタンを配置し、クリック1回で並べ替えをしたいと思っています。 
困っているのが、並べ替えの指定範囲が毎回違うという事です。 
マクロの記録で行うと以下のコードが作成されます。 
 
1 Rows("7:8").Select 
2 ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
3 ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B7:B8"), _ 
4   SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
5 With ActiveWorkbook.Worksheets("Sheet1").Sort 
6   .SetRange Range("A7:Y8") 
7   .Header = xlGuess 
8   .MatchCase = False 
9   .Orientation = xlTopToBottom 
10   .SortMethod = xlPinYin 
11   .Apply 
12 End With 
 
1行目のRowsは毎回変わります。 
上記のコードでは「7:8」になっていますが、次は「10:15」だったり、次は「17:30」だったりします。 
その為3行目と6行目のRange範囲も変わります。 
只、6行目の「A*:Y*」とB列という事だけは固定です。 
 
結果行いたい作業が、 
 1.セルを行で選択 
 2.ボタンで並べ替え 
だけになるのですが、セルを選択した場所の取得が中々上手く出来ません。 
 
良い解決策がお分かりであれば、ご助力ください。 
宜しくお願い致します。 
 
 | 
     
    
   |