Excel VBA表单vlookup类型不匹配
我试图在表单中使用vlookup来查找表中文本框的值,并将结果放入第二个文本框。简化的代码如下所示:Excel VBA表单vlookup类型不匹配,excel,vba,forms,textbox,vlookup,Excel,Vba,Forms,Textbox,Vlookup,我试图在表单中使用vlookup来查找表中文本框的值,并将结果放入第二个文本框。简化的代码如下所示: Private Sub CommandButton1_Click() Dim carbon As Variant carbon = TextBox1.Value Dim ih As Variant With ThisWorkbook.Worksheets("initial hardness") ih = Application.VLookup(carbon, Workshee
Private Sub CommandButton1_Click()
Dim carbon As Variant
carbon = TextBox1.Value
Dim ih As Variant
With ThisWorkbook.Worksheets("initial hardness")
ih = Application.VLookup(carbon, Worksheets("initial hardness").Range("A4:B64"), 2, False)
TextBox2.Value = ih
End With
End Sub
表格样本:
0,19 44,0
0,20 44,0
0,21 45,0
0,22 45,0
0,23 46,0
在tb1中键入0,22时,出现运行时错误“-2147352571(800200005)”:无法设置value属性。当我将第一列中的fomrat更改为0.22,并在文本框中键入0.22时,该表单似乎正在运行,但这不是我想要的
有人能帮我吗?首先,代码中的“With”块是必需的。所以你可以把它抹掉
关于你的问题,还不是100%清楚你改变了什么。因为问题可能不同,您可能有使用逗号“,”或点“.”分隔小数的区域设置,也可能有单元格格式(文本或数字格式)的问题
我建议避免在代码中使用VLOOKUP,并尝试使用不同的方法解决问题
如果您仍然想使用VLOOKUP,“Application.VLOOKUP”将无法在所有Excel版本中工作。如果您要在不同的计算机上使用“Application.WorksheetFunction.VLookup”,我建议您使用它。我实际上尝试过使用Application.WorksheetFunction.VLookup,无论我做了什么,都会遇到错误1004。这就是我决定使用WITH的原因,因为它是唯一一个在我的测试表单上使用更简单数据的东西,但是在实际表单中,我遇到了上面描述的问题。