在文本框中使用if函数

时间:2013-01-24 03:02:43

标签: excel vba excel-vba

我在userform

后面有以下代码
Private Sub add_button()
    On Error Resume Next
     If TextBox1 > TextBox9 Then
         TextBox12 = "YES"
     Else
         TextBox12 = "No"
         If TextBox8 > TextBox3 And TextBox8 < TextBox4 Then
            TextBox11 = "YES"
         Else
            TextBox11 = "no"
            If TextBox12 = "NO" Then
                TextBox10 = "NO"
            ElseIf TextBox11 = "NO" Then
                TextBox10 = "NO"
            Else
                TextBox10 = "YES"
            End If
         End If
     End If
End Sub

上述代码不起作用:请就可能的错误提出建议。

2 个答案:

答案 0 :(得分:1)

很少,

  1. 删除错误处理,然后您将知道Siddharth的评论中是否存在执行问题
  2. 将文本格式/案例的左右比较平衡为Larry的评论
  3. 使用适当的属性获取设定值。在你的情况下,它是Textbox.Text
  4. F8并添加break points
  5. ,以调试模式运行代码
  6. 每个Debug.Print执行Msgboxif-else以确保逻辑流程
  7. 回应评论,因为社区正在尽力帮助您解决问题。
  8. 您可以对代码进行更改。在逻辑的这一点上,您已经将1211都设置为NO,在这种情况下,无需执行此检查:

     If TextBox12 = "NO" Then 
         TextBox10 = "NO" 
     ElseIf TextBox11 = "NO" Then 
         TextBox10 = "NO"
    

    您只需设置Textbox10.Text = "NO"

    即可

答案 1 :(得分:0)

请您检查脚本的实际情况是否正常,因为我不太确定这些条件对文本的效果如何。只需复制所有现有代码并将以下内容复制为测试:

Private Sub add_button()
    If TextBox1 > TextBox9 Then
        MsgBox "TextBox1 > TextBox9 "
    Else
        MsgBox "TextBox1 < TextBox9 "
        If TextBox8 > TextBox3 And TextBox8 < TextBox4 Then
            MsgBox "TextBox8 > TextBox3 And TextBox8 < TextBox4 "
        End
    End If
End Sub