我有WName = ThisWorkbook.Name
,然后我想在我的代码中的另一个点设置Windows("WName").Activate
但是无效。
我知道这可能没有意义,但它与所有正在进行的sutf有关
下面是一个小测试子(我没有使用它只是试图让它工作)
由于
Sub test()
'Copy Active Workbook Name
WName = ThisWorkbook.Name
'Activate a different Workbook
Windows("MyWorkbookAAA").Activate
'Activate Original workbook using WName
Windows("WName").Activate 'Have also tried Windows(WName).Activate
range("D2:D25").Select
Selection.Copy
Windows("MyWorkbookBBB").Activate
range("C22").Select
ActiveSheet.Paste
End Sub
答案 0 :(得分:1)
如果你想通过保持对字符串值WName的引用来保持类似的语法。
Workbooks(WName).Activate
这会激活该工作簿。
也可以做到
ThisWorkbook.Activate
如果是运行代码的工作簿。
(有更简单的方法来执行特定的操作,你只做一件事,比如复制,但这解释了如何做你想做的事情)
答案 1 :(得分:1)
试试这段代码:
避免在代码中使用Select / Activate。请参阅此link
ThisWorkbook.ActiveSheet.Range("D2:D25").Copy Workbooks("MyWorkbookBBB").ActiveSheet.Range("C22")