2

我有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
4

2 回答 2

1

如果您想通过保留对字符串值 WName 的引用来保持类似的语法。

Workbooks(WName).Activate 

这将激活该工作簿。

也可以做

ThisWorkbook.Activate

如果它是运行您的代码的工作簿。

(有更简单的方法来做你只做一件事的特定操作,比如复制,但这解释了如何做你想做的事情)

于 2013-05-31T19:51:04.453 回答
1

试试这个代码:

避免在代码中使用 Select/Activate。参考这个链接

 ThisWorkbook.ActiveSheet.Range("D2:D25").Copy Workbooks("MyWorkbookBBB").ActiveSheet.Range("C22")

在此处输入图像描述

于 2013-05-31T20:10:33.660 回答