VBA 错误: 无法设置 Value 属性,类型不匹配 - TextBox9 和 VLookup 结果类型问题
如果在运行以下 VBA 代码时,出现错误提示'无法设置 Value 属性,类型不匹配',这可能是因为 TextBox9 是一个文本框,而 result 是一个 Variant 类型的值。
Private Sub TextBox7_AfterUpdate()
Dim result As Variant
result = Application.VLookup(TextBox7.Value, Sheets('产品编号总表').Range('B:G'), 4, False)
If Not IsError(result) Then
TextBox9.Value = result
Else
TextBox9.Value = ""
End If
End Sub
要解决这个问题,你可以将 result 转换为字符串类型,并将其赋给 TextBox9 的 Text 属性,而不是 Value 属性。
以下是修改后的代码:
Private Sub TextBox7_AfterUpdate()
Dim result As Variant
result = Application.VLookup(TextBox7.Value, Sheets('产品编号总表').Range('B:G'), 4, False)
If Not IsError(result) Then
TextBox9.Text = CStr(result)
Else
TextBox9.Text = ""
End If
End Sub
在上面的代码中,我们使用 CStr 函数将 result 转换为字符串类型,并将其赋给 TextBox9 的 Text 属性。
请确保你已将这段代码放置在窗体的代码模块中,并将 TextBox7_AfterUpdate 事件与文本框 TextBox7 关联。
原文地址: https://www.cveoy.top/t/topic/24B 著作权归作者所有。请勿转载和采集!