VBA EXCEL:根据部分名称从其他(打开)工作簿(XML)中获取值,并将其复制到主工作簿中
我的问题是:
我有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
这似乎工作,或至less它认识到正确的工作簿。 但我怎么从这里走?
你在正确的轨道上 – 正如我在我的评论中所说的,最简单的方法可能就是logging一个复制所需数据的macros,并将逻辑置于其上以select正确的工作簿。
另一种方式(首选)是设置工作簿variables,以便您可以更好地控制自己正在做的事情。
这看起来像这样:
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
希望能帮助你走上正确的道路,祝你好运!