【发布时间】:2011-08-17 12:26:17
【问题描述】:
我在我的 excel 文件上做了各种各样的事情,最后我需要回到上次保存的版本。所以我关闭并重新打开我的excel文件而不保存,这很有效。在关闭工作簿之前,我复制了一系列单元格(通过使用一些排序和过滤等创建),现在我需要在重新打开文件时将它们粘贴到文件末尾。
但是当我们重新打开一个工作簿时,之前运行的宏不会从它停止的地方继续。我想在它再次重新打开时停止的地方运行宏。这可能吗?
我的想法是在工作簿打开时放置此代码:
sub Auto_open()
sheet1.activate
' and select the last row of the sheet1
activesheet.paste
end sub
因为当工作簿重新打开时,它会自动执行此子例程并复制单元格内容。但缺点是我们不能说它的单元格总是被复制不足,因为如果用户将一些数据复制到剪贴板,然后由于 Auto_open 子打开这个文件,它会将该数据复制到工作表的末尾,但这不是什么我想。
谁能提出一个解决这个问题的好主意?
【问题讨论】:
-
你能有宏在不同的工作簿中完成所有这些吗? IE。工作簿 A 包含一个关闭和重新打开工作簿 B(包含您的所有数据)的宏?
标签: vba excel excel-2007