于是我写了一个宏,使用场景是:
- 我打开了从某处下载的全新 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