【问题标题】:Getting error for macro when moving to a different sheet移动到其他工作表时出现宏错误
【发布时间】:2021-07-02 01:28:52
【问题描述】:

我收到运行时错误“1004”:

范围类的选择方法失败

只有当我从运行宏的工作表(Bet Angel)移到另一个工作表时才会发生这种情况。代码如下:

    Sub DeleteStatus()

Worksheets("Bet Angel").Range("O6:O50").Select
Selection.ClearContents
Call Start
End Sub

Sub Start()
    Application.OnTime Now + TimeValue("00:00:15"), "DeleteStatus"
End Sub

即使我在工作簿的不同工作表之间移动,我也希望宏运行。

【问题讨论】:

标签: excel vba


【解决方案1】:

由于您正在移动到另一个工作表,因此您需要先激活或选择目标工作表。

Sub DeleteStatus()

Sheets("Bet Angel").Activate
Worksheets("Bet Angel").Range("O6:O50").Select
Selection.ClearContents
Call Start
End Sub

Sub Start()
    Application.OnTime Now + TimeValue("00:00:15"), "DeleteStatus"
End Sub

如果你想回到原来的工作表,你可以在 DeleteStatus() 结束时激活它

像这样

Sub DeleteStatus()

Sheets("Bet Angel").Activate
Worksheets("Bet Angel").Range("O6:O50").Select
Selection.ClearContents
Call Start
Sheets("your original worksheet").Activate
End Sub

如果您不想使用activate,则需要先将工作表调暗。

像这样

Sub DeleteStatus()
Dim ws As Worksheet

Set ws = Sheets("Bet Angel")
ws.Range("O6:O50").ClearContents
Call Start
End Sub

Sub Start()
    Application.OnTime Now + TimeValue("00:00:15"), "DeleteStatus"
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2018-03-30
    相关资源
    最近更新 更多