IF语句 - 错误1004 [Vlookup文件返回零]

时间:2018-05-15 13:00:12

标签: if-statement combobox textbox vlookup

我正在创建一个包含excel Column(2nos)数据的产品数据库。 1列包含产品描述和另一个价格。

组合框会填入产品数据(在您键入时搜索),单击按钮时,文本框会显示价格。

现在的问题是,有时可能会有数据库中没有的产品,当点击按钮时程序结束。试图使用IF功能。没有达到预期效果。

我是这样的菜鸟。请帮忙。

Dim ProductNa As Range
Dim ProducPr As Object
Private Sub LowPriceBtn_Click()
    Set ProductNa = Worksheets("Pdata").Range("A2:B7400")
    ProducPr = Application.WorksheetFunction.VLookup(Me.ProBox1.Value, ProductNa, 2, False)
    If ProducPr <> 0 Then
    proRate1.Text = ProducPr
    Else
    proRate1.Text = "Nothing available in database"
    End If
    End Sub

上面的代码无效。

这是以前的工作:

Private Sub LowPriceBtn_Click()
Set ProductNa = Worksheets("Pdata").Range("A2:B7400")
proRate1.Text = Application.WorksheetFunction.VLookup(Me.ProBox1.Value, ProductNa, 2, False)

这确实有效。但是当Vlookup没有返回任何值时,程序崩溃。

PS:proRate1-文本框名称,probox1-组合框。

1 个答案:

答案 0 :(得分:0)

我有一个可以激发您开发代码的功能。

 1. Create a new module 
 2. Paste code bellow
Function MyVLOOKUP(p_value_search As Range, p_matrix As Range, p_col_return As Integer)
'= MyVLOOKUP(E4;Banks!$B$2:$Q$10563;9)
v_value_search = p_value_search.Value
For x = 1 To p_matrix.Rows.Count
  If v_value_search = p_matrix.Cells(x, 1).Value Then
     v_resp = p_matrix.Cells(x, p_col_return).Value
     Exit For
  End If
Next
MyVLOOKUP = v_resp
End Function
 3. Go back to the worksheet and insert into a cell the code equal to 
 the VLOOKUP function.  example: = MyVLOOKUP(E4;Banks!$B$2:$Q$10563;9)
     

当找不到值时,此函数不返回零或#N / D。   希望对您有所帮助。