【发布时间】:2022-01-03 19:38:44
【问题描述】:
我正在尝试获取一个表单,以使用单元格 Z 作为查找参考来填充工作表中的数据。
显示我的问题参考列表的表单上的下拉菜单有效。当我从所述列表中选择一个项目来填充表单时,我收到不匹配错误。
另外,我在Z 列中的范围是字母和数字的混合。我确实将 I 更改为变体,但没有运气
application.match 正在返回错误。有什么想法吗?
运行时错误“13”:类型不匹配
Private Sub ComboBox2_Change()
If Me.ComboBox2.Value <> "" Then
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Inbound Issues")
Dim i As Integer
i = Application.Match(VBA.CLng(Me.ComboBox2.Value), sh.Range("Z:Z"), 0)
Me.TextBox1.Value = sh.Range("H" & i).Value
End If
End Sub
【问题讨论】:
-
如果你能给出错误代码和描述会有所帮助......另外,将
i声明为Long以避免潜在的溢出 -
可能
Me.ComboBox2.Value中的值不能用CLng转换成Long?而Application.Match并不总是返回Integer,但可以返回Error,因此i需要为Variant。 -
您可以通过在尝试强制转换之前测试
Me.ComboBox2.Value是否为数字来避免CLng的错误。IsNumeric是一种快速检查字符串是否可以转换为数字的简便方法。