我正在尝试编写一个宏,使用.Copy
(MSDN)方法将工作表复制到新工作簿中,然后保存并通过电子邮件发送这些新创建的文件。
为此,我需要在宏中引用新创建的工作表。我还没有找到直接使用副本的方法,并且总是犹豫要求Book1.xlsx
。
有没有办法获取最近打开的工作簿或在工作簿集合之前和之后轻松比较?
答案 0 :(得分:5)
您可以告诉工作表Dim newBook As Workbook
Set newBook = Workbooks.Add
Workbooks("source_book.xlsx").Worksheets("sheet_name").Copy Before:=newBook.Worksheets(1)
方法将工作表放在另一个工作簿中的工作表之前/之后。因此,创建一个新工作簿,然后将工作表复制到新工作簿中的第一个工作表之前。
create: function() {
[...]
map.setCollisionByExclusion([], true, doorLayer);
[...]
}
然后,您获得了一本有效的工作簿参考书,其中包含了该表的副本。
答案 1 :(得分:0)
哦,好吧。
Dim origBook As Workbook, newBook As Workbook
Set origBook = Workbooks.ActiveWorkBook
yourcode..yourcode..yourcode.Copy
Set newBook = Workbooks.ActiveWorkBook
类似的东西。