我试图照顾他回答,但我没有设法解决它。这将是一个简单的vlookup,但它必须是更大的代码的一部分。 我在sheet1中有一个A列,我想从名为" base"的表中找到匹配的电子邮件地址(A列中的编号,C列中的电子邮件) 你能帮我吗?对不起,我很善于初学者,非常感谢你。
Public Sub email_search()
Dim lastrow As Long
lastrow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
Set myrange = base.Range("A2:C4800")
For i = 1 To lastrow
Cells(i, 2) = Application.WorksheetFunction.VLookup(Cells(i, 1), myrange, 3, False)
Next i
End Sub
答案 0 :(得分:0)
我会使用错误处理程序,因此如果您查找的值不在源中,则不会返回错误。 另外,从不同的工作表中分配范围也有所不同:
Public Sub email_search()
Dim lastrow As Long
lastrow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
Set myrange = Worksheets("Base").Range("A2:C4800")
For i = 1 To lastrow
On Error Resume Next
result = Application.WorksheetFunction.VLookup(Cells(i, 1), myrange, 3, False)
Cells(i, 2) = result
Next i
End Sub
答案 1 :(得分:0)
您不能使用普通公式吗?
假设Sheet1上的列A包含Sheet2上A列的匹配ID,则所需信息位于Sheet2上的C列中。粘贴在Sheet1上的B列中的结果:
在B2(sheet1)中使用公式并向下拖动:
= IFERROR(VLOOKUP(A2,Sheet 2中!A:C,3,假), “”)
如果发生错误,这将为您留下一个空单元格。改变喜欢!