代码之家  ›  专栏  ›  技术社区  ›  mostafa

如果值不在范围内,则通过vlookup更新文本框

  •  0
  • mostafa  · 技术社区  · 6 年前

    我正在使用这个代码

    Private Sub ComboBox2_Change()
        On Error Resume Next
        Dim myRange As Range
        Set myRange = Worksheets("cash").Range("BF:BH")
        Price.Value = Application.WorksheetFunction.VLookup(ComboBox2.Value, myRange, 2, 0)
    End Sub
    

    使用vlookup从textbox2中选择值,以匹配价格中从textbox2中选择的值。如果文本框2中未包含该值,则会显示最后一个价格。
    我需要,如果我输入的值不在范围内,没有显示价格。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Scott Craner    6 年前

    在尝试执行Vlookup之前,请清除该值。

    使用时也是如此 On Error Resume Next 尽快重新启用错误处理。

    Private Sub ComboBox2_Change()
    
        Dim myRange As Range
        Set myRange = Worksheets("cash").Range("BF:BH")
    
        Price.Value = ""
        On Error Resume Next
            Price.Value = Application.WorksheetFunction.VLookup(ComboBox2.Value, myRange, 2, 0)
        On Error Goto 0
    End Sub