vba 用字典判断主表A和表B中J列相同的数据把表B中的P列填充到表A的AH列
时间: 2024-05-12 10:14:27 浏览: 66
可以使用VBA中的字典(Dictionary)来实现这个功能。下面是一个示例代码:
```
Sub FillAHColumn()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim lastRowA As Long, lastRowB As Long
lastRowA = Sheets("SheetA").Cells(Rows.Count, "A").End(xlUp).Row
lastRowB = Sheets("SheetB").Cells(Rows.Count, "B").End(xlUp).Row
Dim i As Long
For i = 2 To lastRowB
dict(Sheets("SheetB").Range("J" & i).Value) = Sheets("SheetB").Range("P" & i).Value
Next i
For i = 2 To lastRowA
If dict.Exists(Sheets("SheetA").Range("J" & i).Value) Then
Sheets("SheetA").Range("AH" & i).Value = dict(Sheets("SheetA").Range("J" & i).Value)
End If
Next i
End Sub
```
这个代码首先创建一个字典对象,然后遍历表B中的数据,将J列作为键,P列作为值存入字典中。接着遍历表A中的数据,如果字典中存在对应的键,则将字典中对应的值填充到表A的AH列中。注意,这个代码假设表A和表B的数据从第二行开始,如果不是,请根据实际情况修改代码中的行号。
阅读全文