在VBA中修复类型不匹配错误13

时间:2016-11-20 18:58:00

标签: excel vba type-mismatch

我是编码的新手,我正在尝试开发一个允许我填充数据库的用户表单。

我正在尝试为可以通过userform输入到数据库的数据设置一些验证。

我正在使用的代码如下所示,其中Reg是我的用户窗体上控件的名称。

当我运行这部分代码时,它会在第一行停止并显示Type Mismatch Error 13消息框。

非常感谢您提供的任何帮助。

Sub ValidCombo1()

    If Reg18.Value = "" And ((Reg17.Value <> "1" Or (Reg15.Value <> "0" Or "") Or Reg16.Value <> "A" Or Reg19.Value <> "") Or (Reg17.Value <> "" And Reg15.Value <> "" And Reg16.Value <> "" And Reg19.Value <> "")) Then

        MsgBox "Invalid Foundations combination"

        Reg13.Value = ""

    ElseIf Reg25.Value = "" And ((Reg24.Value <> "1" Or (Reg22.Value <> "0" Or "") Or Reg23.Value <> "A" Or Reg26.Value <> "") Or (Reg24.Value <> "" And Reg22.Value <> "" And Reg23.Value <> "" And Reg26.Value <> "")) Then

        MsgBox "Invalid Inverts and Aprons combination"

        Reg13.Value = ""

1 个答案:

答案 0 :(得分:2)

您的代码可能还有其他问题,但

等表达式
Reg15.Value <> "0" Or ""

是类型不匹配。 ""是一个字符串,而不是布尔值。

取代Reg15.Value <> "0" Or ""
Reg15.Value <> "0" And Reg15.Value <> ""

(我认为是你的意图)将消除那些类型不匹配。