VBA形式vlookup类型不匹配

问题描述 投票:0回答:1

im试图在表单中使用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时,该表格似乎正在工作,但它不是我想要的。

有人可以帮我吗?

excel vba forms textbox vlookup
1个回答
0
投票

首先,需要注意代码中的“ With”块。因此您可以删除它。

关于您的问题,并不是100%清楚您所做的更改。因为问题可能有所不同,所以您可能具有使用逗号“或”或点“”的区域设置。小数点分隔,或者您可能对单元格格式(文本或数字格式)有疑问]

我建议避免在代码中使用VLOOKUP,并尝试对问题使用不同的方法。

如果您仍想使用VLOOKUP,则“ Application.VLookup”将不适用于所有Excel版本。如果您要在其他计算机上使用它,我建议使用“ Application.WorksheetFunction.VLookup”。

© www.soinside.com 2019 - 2024. All rights reserved.