我有2个工作表
在工作表1中,我有一堆信息,但在H列中我有数字
我也有工作表2,在这张表中,我有2列
我想将工作表1中的H列与工作表2中的A列进行比较,如果两个数字匹配,我想从sheet2中的B列中提取数据并将其粘贴到同一行的列I中数据匹配列H
如果这有任何意义,我不太确定如何在VBA中这样做,因为我的技能严重缺乏这种语言。任何帮助将不胜感激,特别是有一个解释,但生病了,我可以得到任何帮助。
我知道这可以通过vlookup来完成,但我正在尝试创建一个vba宏
答案 0 :(得分:0)
您真的不需要VBA宏来执行此操作。在第I列中,这个简单的公式将起作用:=IF(H7=Sheet2!A7,Sheet2!B7,"")
。但是如果你想要一个宏出于其他原因,只需设置你的范围并比较如下:
Option Explicit
Sub CompareAndCopy()
Dim col1 As Range
Dim col2 As Range
Dim col3 As Range
Dim i As Integer
'--- assumes data in each cell with no empty cells
Set col1 = Sheets("Sheet1").Range("H1", Range("H1").End(xlDown))
Set col2 = Sheets("Sheet2").Range("A1")
Set col3 = Sheets("Sheet1").Range("I1")
'--- assumes empty cells in column and selects down to the last data cell
'Set col1 = Sheets("Sheet1").Range("H1", Range("H1048576").End(xlUp))
'Set col2 = Sheets("Sheet2").Range("A1")
'Set col3 = Sheets("Sheet1").Range("I1")
For i = 1 To col1.Rows.Count
If col1.Cells(i, 1).Value = col2.Cells(i, 1).Value Then
col3.Cells(i, 1).Value = col2.Cells(i, 2).Value
End If
Next i
End Sub