|
幾ら調べても分からない為、こちらで質問させて頂きます。
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.ボタンで並べ替え
だけになるのですが、セルを選択した場所の取得が中々上手く出来ません。
良い解決策がお分かりであれば、ご助力ください。
宜しくお願い致します。
|
|