尝试从个人工作簿运行宏后出现运行错误

尝试从个人工作簿运行宏后出现运行错误

于是我写了一个宏,使用场景是:

  • 我打开了从某处下载的全新 CSV 文件
  • 我的宏运行并对数据进行了一些神奇的操作

由于我不想将我的宏复制粘贴到每个新的 CSV 文件中,我发现我可以将此宏移动到隐藏的PERSONAL.XLSB工作簿,我这样做了。不幸的是,当尝试从 CSV 文件调用此宏时发生了一些错误 - 我不知道为什么。

这是有问题的代码片段:

 Sub copySheet()
    ThisWorkbook.Sheets(1).Copy _
    After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    Sheets(1).Activate
    ThisWorkbook.Sheets(1).Name = "X1"
    ThisWorkbook.Sheets(2).Name = "X2"

End Sub

这是我收到的错误:

运行时错误‘1004’:

Worksheet 类的复制方法失败

答案1

我自己找到了这个孤子。看来我的代码试图在个人工作簿上运行复制操作,而不是在活动工作簿上运行。这是解决方案:

Private Sub copySheet()
    ActiveWorkbook.Sheets(1).Copy _
    After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
    Sheets(1).Activate
    ActiveWorkbook.Sheets(1).Name = "X1"
    ActiveWorkbook.Sheets(2).Name = "X2"

End Sub

相关内容