Excel VBA - 运行时错误438:对象不支持此属性或方法

时间:2017-11-16 14:15:25

标签: excel vba runtime

我是VBA新手,我有以下代码。 我想在变量SumDef中总结userform框架中所有文本框的值,如果文本框不是无效的。

但是我得到了

  

运行时错误438:对象不支持此属性或方法

Private Sub CommandButton2_Click()

'PROBLEEEEEM


Dim SumDef As Integer
Dim txt As Control

SumDef = 0

For Each txt In Me.Frame3.Controls

    If TypeName(txt) = "TextBox" And IsNumeric(txt.Value) = True Then

    SumDef = SumDef + CInt(txt.Text)

    End If

Next txt

If TextBox2.Value <> vbNullString And CInt(TextBox2.Text) <= SumDef Then

    cell2.Offset(, 7).Value = TextBox2.Text
    cell2.Offset(, 19).Value = TextBox3.Text
    cell2.Offset(, 8).Value = TextBox4.Text
    cell2.Offset(, 9).Value = TextBox5.Text
    cell2.Offset(, 10).Value = TextBox6.Text
    cell2.Offset(, 11).Value = TextBox7.Text
    cell2.Offset(, 12).Value = TextBox8.Text
    cell2.Offset(, 13).Value = TextBox9.Text
    cell2.Offset(, 14).Value = TextBox10.Text
    cell2.Offset(, 15).Value = TextBox11.Text
    cell2.Offset(, 16).Value = TextBox12.Text
    cell2.Offset(, 17).Value = TextBox13.Text
    cell2.Offset(, 18).Value = TextBox14.Text

    MsgBox "Bac enregistré avec succes", vbInformation, "ENR FAB 07"


    Me.CommandButton3.Enabled = True
    Me.CommandButton2.Enabled = False

Else
    MsgBox "Nombre de gants défauts est invalide", vbExclamation, "ENR FAB 07"
    TextBox2.Value = vbNullString
End If

End Sub

1 个答案:

答案 0 :(得分:2)

将if这样的语句嵌套,而不是试图评估所有控件上的.Value,而不是所有控件都有.Value属性:

If TypeName(txt) = "TextBox" Then
    If IsNumeric(txt.Value) = True Then
        SumDef = SumDef + CInt(txt.Text)
    End If
End If