Excel个人宏工作簿参考Book1

时间:2018-03-31 01:03:30

标签: excel vba excel-vba

我终于找到了为什么我的代码崩溃了。我将此设置为我的个人宏工作簿的一部分,所以当我打开默认的Book1时,我可以运行它。但问题是,由于它正在从PMW运行宏,因此“Sheet.Copy After:= ThisWorkbook.Sheets(1)”崩溃了。

如何让从PMW运行的以下代码将工作表复制到默认的Book1?

以下原始代码;

Sub GetSheets()
Application.AutoRecover.Enabled = False
LInput:
     PL = Application.InputBox("Threshold Report Path", "", "C:\Users\")
      Path = PL
      Filename = Dir(Path & "*.csv")
        Do While Filename <> ""
        Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
           For Each Sheet In ActiveWorkbook.Sheets
           Sheet.Copy After:=ThisWorkbook.Sheets(1)
        Next Sheet
           Workbooks(Filename).Close
           Filename = Dir()
        Loop

      End Sub

2 个答案:

答案 0 :(得分:0)

ThisWorkbook指的是带宏的工作簿。

您可以按名称引用它:

    Sheet.Copy After:=Workbooks("Foo").Sheets(1)

答案 1 :(得分:0)

我认为你误解了个人宏观工作簿的目的;它不应该自动运行任何东西。它不是模板。它是存储您经常使用的宏的地方,因此您可以将宏保存在一个位置,而不是将宏复制到不同的工作簿中。

我认为您想要的是一个包含模板工作表的个人模板,因此每次创建新文档时都不需要复制任何内容。

创建工作簿,手动复制工作表,并将其另存为模板。避免在模板中自动运行代码。

有关详情,请参阅以下链接。

更多信息:

您尝试使用的内容:

你应该使用什么: