使用Vlookup值

时间:2016-05-08 06:49:25

标签: vba excel-vba excel

我是VBA的新手,我无法找到特定于我的简单请求的答案(大多数答案都复杂得多......)。我希望Cell E2能够填充vlookup的结果。有一种简单的方法可以做到这一点吗?

如果我找不到合适的答案,谢谢,对不起..

 Sub vlookup_customerror()
       Worksheets("customerror").Activate
         On Error GoTo Errormsg

      Hobbyquery = Application.WorksheetFunction.VLookup(Range("E1"),
      ActiveSheet.Range("A2:B5"), 2, 0)
      Cells("E2").Value = Hobbyquery

     GoTo ending
     Errormsg: GoTo ending

  ending: End Sub

1 个答案:

答案 0 :(得分:0)

请尝试此:您还可以添加错误处理程序代码

Sub custom_error()
Dim result As Integer
Dim sheet As Worksheet
Set sheet = ActiveWorkbook.Sheets("customerror")
Name = sheet.Range("E1").Value
result = Application.VLookup(Name, sheet.Range("A2:B5"), 2, False)
sheet.Range("E2").Value = result
Debug.Print result
End Sub

Sample file

如果B列中有字符串数据,则更改Dim result As String

编辑:要覆盖这种情况,如果查找值在其他工作表上 @MacroMarc表达的忧虑。在这种情况下,请尝试这个:

Sub custom_error_v2()
    Dim result As Variant
    On Error Resume Next
    result = Application.WorksheetFunction.VLookup(Range("E1"), _
      Worksheets("Sheet1").Range("A:C"), 2, False)
    On Error GoTo 0
    If IsEmpty(result) Then
        MsgBox "Value not found!"
    End If
    Range("E2") = result
End Sub

样本数据的图像附在下面。

Sample sheet 1 Sample sheet 2

请根据您的要求更改工作表名称。