我的问题是:
我有2本工作簿:
主工作簿这是我想要粘贴的值。
其他工作簿经常更改其名称,但始终以" PR14"它是一个XML文件扩展名(我不知道这些是否重要)
所以代码需要做的是识别工作簿名称" PR14"然后将值(例如,单元格A1:A3)复制到单元格A1中的主工作簿。
我得到的代码是:
Sub Recognize()
For Each wb In Workbooks
If Left(wb.Name, 4) = "PR14" Then wb.Activate
Next
End Sub
似乎有用,或者至少它识别正确的工作簿。但是我怎么离开这里?
答案 0 :(得分:1)
你走在正确的轨道上 - 正如我在评论中所说,最简单的方法可能就是录制一个复制你想要的数据的宏,并将你的逻辑放在它上面以选择正确的工作簿。 / p>
另一种方式(首选)是设置工作簿变量,以便您可以更好地控制自己正在做的事情。
这看起来像这样:
Sub CopyFrom()
Dim wb As Workbook
Dim ThisBook As Workbook
Dim PR14Book As Workbook
Set ThisBook = ThisWorkbook
For Each wb In Workbooks
If Left(wb.Name, 4) = "PR14" Then Set PR14Book = wb
Next
' Whatever kind of stuff you want to do... Just an example:
ThisBook.Sheets("Sheet1").Range("A1").Value = PR14Book.Sheets("Sheet1").Range("A1:A3").Value
End Sub
希望这有助于让你走上正确的道路,祝你好运!