匹配值并将其复制到新的单元格

我试图build立一个Excelmacros,这将允许我做到以下几点:

我有两张Excel表格。

我想让macros匹配Sheet1中的所有值,列A与Sheet2中的单元格A1。 如果匹配,请将Sheet1中的单元格Dx复制到Sheet2中的单元格D1。 如果没有,就移动到Sheet2中的单元格A2并执行相同的操作,但是将单元格Dx从Sheet1复制到单元格D2。

我尝试了vlookup方法,但是失败了。

=vlookup($A1,CELLREF-SHEET1,column(),false)

我也试图实现这个方法,我已经写了另一个项目:

 Dim cel As Range, celFound As Range, rg As Range, rgLookHere As Range Dim i As Long Dim v As Variant Set rg = Range("A1") 'First cell to check Set rgLookHere = rg.Offset(0, 1).EntireColumn 'Check for matches in this column Set rg = Range(rg, Cells(Rows.Count, rg.Column).End(xlUp)) On Error Resume Next ReDim v(1 To rg.Cells.Count, 1 To 1) For Each cel In rg.Cells i = i + 1 If cel <> "" Then Set celFound = Nothing Set celFound = rgLookHere.Find(cel.Value, LookIn:=xlValues, LookAt:=xlWhole) v(i, 1) = IIf(celFound Is Nothing, "Null", "yes") End If Next rg.Offset(0, 2).Value = v On Error GoTo 0 

你有什么build议吗?

VLookup似乎是要走的路。 如果我在Sheet1的A列和D列有数据,而Sheet2的列A的数据要匹配,那么我把下面的VLookup放在Sheet2的列D中:

= VLOOKUP(A1,Sheet 1中!A:d,4,FALSE)

您将在没有匹配的单元中看到N / A。 你总是可以使用ISNA()来识别这些和基于IF()你可以输出实际的匹配或什么也没有。