我是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
答案 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
如果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
样本数据的图像附在下面。
请根据您的要求更改工作表名称。