Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA表单vlookup类型不匹配_Excel_Vba_Forms_Textbox_Vlookup - Fatal编程技术网

Excel VBA表单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

我试图在表单中使用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, 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的原因,因为它是唯一一个在我的测试表单上使用更简单数据的东西,但是在实际表单中,我遇到了上面描述的问题。