【问题标题】:Excel VB This Active WorksheetExcel VBA 此活动工作表
【发布时间】:2015-02-10 04:30:28
【问题描述】:

我确信这真的很简单,但我找不到任何相关信息。

我有一个 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

我想要做的是使它成为一个全局宏,但文件名在宏中是硬编码的。如何更改代码以引用“this”当前打开的文件?

【问题讨论】:

    标签: excel worksheet vba


    【解决方案1】:

    好的,我发现您需要将其更改为:

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

    到:

    ActiveWorkbook.ActiveSheet.Sort
    

    感谢this SO item on creating a button in Excel

    【讨论】:

      【解决方案2】:

      ActiveWorkbook 确实引用了当前打开和活动的文件。

      如果 文件名 指的是工作表名称是硬编码的事实,则可以通过将 ActiveWorkbook.Worksheets("Data 21 Oct 12 11-05") 替换为使宏与活动 工作表 一起使用ActiveSheet.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-24
        • 1970-01-01
        • 2018-06-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多