6

これは本当に簡単だと確信していますが、それに関する情報が見つかりません。

次のようなExcelマクロがあります。

    ActiveWorkbook.Worksheets("Data 21 Oct 12 11-05").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Data21 Oct 12 11-05").Sort.SortFields.Add Key _
    :=Range("W1:W23"), SortOn:=xlSortOnValues, Order:=xlDescending, _
    DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Data 21 Oct 12 11-05").Sort
    .SetRange Range("A1:BZ23")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

私がやりたいことは、これをグローバル マクロにすることですが、ファイル名はマクロにハード コードされています。現在開いている「この」ファイルを参照するようにコードを変更するにはどうすればよいですか?

4

2 に答える 2

9

わかりました、次から変更する必要があることがわかりました:

ActiveWorkbook.Worksheets("Data 21 Oct 12 11-05").Sort.

に:

ActiveWorkbook.ActiveSheet.Sort

Excelでボタンを作成する際のこのSOアイテムの功績

于 2012-10-21T11:05:04.520 に答える
4

ActiveWorkbook現在開いているアクティブなファイルを参照します。

シート名がハードコードされているという事実をファイル名で参照する場合は、.ActiveWorkbook.Worksheets("Data 21 Oct 12 11-05")ActiveSheet

于 2012-10-21T11:04:44.900 に答える