VBA - 将TextBox值分配给可变错误

时间:2016-08-02 21:16:03

标签: vba excel-vba combobox textbox excel

我正在使用useform编写VBA代码,其中包含3个ComboBox和3个TextBox。

每当用户从Comboboxes提供的列表中选择任何值时,代码都会起作用。当我尝试将Combobox用户的选择与任何文本框组合时,问题就出现了。

我已经为文本框分配了限制,并且只要识别出限制就会弹出匹配的消息框,但是当在文本框中键入适当的值时,我会得到:

运行时错误'91':对象变量或未设置块变量

虽然我没有在整个代码中声明任何对象或任何“With”进程。 我的代码是:

注意:Num_Molecules是组合框名称,Molecules_Hand是文本框名称。

Private Sub Insert_Molecules_Click()

Dim lMolecules As Single

If Not Len(Trim(Num_Molecules.Value)) = 0 And Len(Trim(Molecules_Hand.Text)) = 0 Then
 lMolecules = Val(Num_Molecules.Value)

   ElseIf Len(Trim(Molecules_Hand.Text)) = 0 And Len(Trim(Num_Molecules.Value)) = 0 Then
      Molecules_Hand.Text = ""
        MsgBox "enter num of molecules"
         'Exit Sub

      ElseIf Molecules_Hand.Value < 5 And Len(Trim(Num_Molecules.Value)) = 0 Then
        Molecules_Hand.Text = ""
           MsgBox "value cannot be under 5"
            'Exit Sub

          ElseIf Molecules_Hand.Value >= 5 And Len(Trim(Num_Molecules.Value)) = 0 Then
           If Not Val(Molecules_Hand.Value) = Int(Val(Molecules_Hand.Value)) Then
             MsgBox "number must be an integer"
              'Exit Sub

               ElseIf IsNumeric(Molecules_Hand.Value) = False And Len(Trim(Num_Molecules.Value)) = 0 Then
                 MsgBox "textbox or choice cannot be empty"
                  'Exit Sub
            End If

Else
  lMolecules = Index_Form.Molecules_Hand.Value


End If
End Sub

问题在于“End If”之前的最后一行 - 它不会将文本框值分配给变量。我的所有3个文本框都存在同样的问题,并且它们都以相同的方式分配。

感谢您的帮助。

0 个答案:

没有答案