【发布时间】:2021-03-26 16:19:48
【问题描述】:
我正在尝试将具有宏按钮(移动时未分配)的工作表移动到新工作簿,然后将按钮分配给存储在工作表中的一些宏。我正在使用以下代码来分配名为 sort 的宏:
Set NewBook = Workbooks.Add
set ws = OldBook.Sheets(1)
ws.Move Before:=NewBook.Sheets("Sheet Name")
NewBook.Sheets(1).Shapes.Range(Array("Button1")).Select
Selection.OnAction = "Sheet1.sort"
NewBook.SaveAs Filename:= "File Name", FileFormat:=52
NewBook.Close
问题:当我运行代码然后打开新工作簿时,宏按钮被分配给一个名为“OldBook.Sheet1.sort”的宏,该宏显然在新工作簿中不存在。
我不明白它为什么要加入“旧书”。分配宏时。任何想法将不胜感激。
【问题讨论】:
-
可以添加工作簿参考吗?
-
.OnAction = "'" & NewBook.Name & "'!Sheet1.sort" -
成功了!感谢 SJR 和悉达多!