复制工作簿名称,然后用vba激活带有被复制名称的工作簿
我有WName = ThisWorkbook.Name
,然后我想设置Windows("WName").Activate
在我的代码中的另一个点Windows("WName").Activate
,但不工作。
我知道这可能是没有道理的,但它与所有正在发生的sutf有关
下面是一个小testing子(我不使用这只是试图让它的工作)
谢谢
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
试试这个代码:
避免在代码中使用select/激活。 参考这个链接
ThisWorkbook.ActiveSheet.Range("D2:D25").Copy Workbooks("MyWorkbookBBB").ActiveSheet.Range("C22")
如果要通过保持对string值WName的引用来保持相似的语法。
Workbooks(WName).Activate
这激活了该工作簿。
也可以做
ThisWorkbook.Activate
如果这是运行你的代码的工作簿。
(有更简单的方法来做特定的操作,你只需要做一件事就像复制一样,但这就解释了如何做你正在做的事情)