我的vba的vlookup代码无效

时间:2018-05-08 09:30:08

标签: excel vba vlookup

我试图照顾他回答,但我没有设法解决它。这将是一个简单的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

2 个答案:

答案 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,假), “”)

如果发生错误,这将为您留下一个空单元格。改变喜欢!

相关问题