excel - VBA 表单 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, 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)”:无法设置值属性。当我将第一列中的 fomrat 更改为 0.22 并在文本框中键入 0.22 时,该表单似乎正在工作,但这不是我要找的。
谁能帮我?
解决方案
首先,代码中的“With”块是必要的。这样你就可以抹掉了。。
关于您的问题,目前还不是 100% 清楚您所做的更改。因为,问题可能不同,您可以使用逗号“,”或点“。”的区域设置。用于小数分隔,否则单元格格式(文本或数字格式)可能有问题
我建议避免在代码中使用 VLOOKUP 并尝试对问题使用不同的方法。
如果您仍想使用 VLOOKUP,“Application.VLookup”将不适用于所有 Excel 版本。如果您要在不同的计算机上使用它,我建议使用“Application.WorksheetFunction.VLookup”。
推荐阅读
- jenkins - SVN_REVISION 变量未在 Jenkins 中返回结帐修订
- python - 使用 SymPy 计算导数时出现错误“无法分配要调用的函数”
- json - 具有基本身份验证的 Loopj Put 和 Post 返回空响应且没有错误
- linux - 用golang写在热敏打印机设备上
- ruby-on-rails - 当我尝试创建一个新项目时,Rails 返回错误
- javascript - 使用javascript动态添加表单输入元素并处理事件
- json - request.get_data() 与 request.get_json()
- css - Google recaptcha 未在 div 中显示
- javascript - 如何根据当前语言环境格式化 moment.js 中的日期?
- bluetooth-lowenergy - 单个应用程序中的最大 UUID 数/信标数?