nik*_*iko 3 excel vba excel-2007 excel-vba
我在excel文件上做了各种各样的事情,最后我需要回到最后保存的版本.所以我关闭并重新打开我的excel文件而不保存,这有效.在关闭工作簿之前,我复制了一系列单元格(通过使用一些排序和过滤以及其他东西等创建),现在我需要在重新打开它时将它们粘贴到文件末尾.
但是当我们重新打开工作簿时,以前运行的宏不会在停止的地方继续.我想运行宏再次重新打开时停止的位置.那可能吗?
我的想法是在工作簿打开时放置此代码:
sub Auto_open()
sheet1.activate
' and select the last row of the sheet1
activesheet.paste
end sub
Run Code Online (Sandbox Code Playgroud)
因为当工作簿重新打开时,它会自动执行此子例程并复制单元格内容.但缺点是我们不能说它总是单元格被复制,因为如果用户将一些数据复制到剪贴板然后由于Auto_open子打开这个文件,它会将这些数据复制到工作表的末尾,但这不是什么我想要.
任何人都可以提出一个好主意来克服这个问题吗?
Jea*_*ett 11
为什么不在.SaveAs不同的文件名下临时修改您的工作簿?然后,您可以将其保持打开状态,重新打开原始工作簿,并在打开两个工作簿的情况下进行复制.最后,如果您有这种倾向,请删除修改后的工作簿.
使用该_Open活动的这项业务只是要求发生灾难.
此外,这.Copy是一个非常容易出错的方法,因为它使用剪贴板,其他应用程序也可以访问,两端都有不可预测的结果.我从不.Copy单独使用,但有时使用.Copy Destination:=...哪种是安全的.但大多数情况下,我做这样的事情:
wbkTwo.Sheets("Sheet1").Range("A1:B5") = _
wbkOne.Sheets("Sheet1").Range("A1:B5")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2315 次 |
| 最近记录: |