我有两本工作簿。工作簿A将被视为ThisWorkbook / ActiveWorkbook。
工作簿A(ActiveWorkbook)
Cell C5 = 555
Cell U20 = 1234
和工作簿B,文件名总是不同的,如:
Deluxe Volumes
Xmas Volumes
但总是以“卷”这个词结束。
工作簿B :(动态名称)Volumes.xls
Column D Column P
555 1234
111
222
我正在尝试从工作簿A复制单元格U20中的值,其中工作簿A中单元格C5中的值与工作簿B上的列D匹配。
如果值匹配,则在P列中,在该行上,我想在工作簿A的单元格u20中添加我的值。
我有这个代码,我是从互联网上获得的,我是VBA的新手,所以它可能都错了,但我不知道如何通过使用工作簿的最后一个字符来引用工作簿B.并让它正确地复制我的价值。
即。
Set w2 = Workbooks("*volumes.xls").Sheets(1)
Sub UpdateW2() Dim Dic As Object,key As Variant,oCell As Range,i& Dim w1 As Worksheet,w2 As Worksheet
Set Dic = CreateObject("Scripting.Dictionary")
Set w1 = ThisWorkbook.Sheets(1)
Set w2 = Set w2 = Workbooks("*volumes.xls").Sheets(1)
i = w1.Cells.SpecialCells(xlCellTypeLastCell).Row
For Each oCell In w1.Range("C5")
If Not Dic.exists(oCell.Value) Then
Dic.Add oCell.Value, Range("U20").Value
End If
Next
i = w2.Cells.SpecialCells(xlCellTypeLastCell).Row
For Each oCell In w2.Range("D2:D" & i)
For Each key In Dic
If oCell.Value = key Then
oCell.Offset(, 12).Value = Dic(key)
End If
Next
Next
End Sub
有人可以告诉我这样做的正确方法吗?感谢