VBA OptionButton正确,错误或为空

时间:2018-07-21 18:45:41

标签: excel vba excel-vba

我有几个选项按钮,OptionButton1和OptionButton2:

enter image description here

这些与后台电子表格“ Sheet(“ AAP”)”第19列进行交互。

设置“下一个”和“上一个”按钮以快速浏览各行并显示单元格上的所有内容。这是通过使用一个简单的计数器和一个FOR循环来完成的。

如果(在col19中)找到的值为“是”,则OptionButton1将被激活。

如果(在col19中)找到的值为“否”,则将激活OptionButton2。

代码

If .Cells(i, 19).Value = "Yes" 
  Me.OptionButton1 = True
ElseIf .Cells(i, 19).Value = "No" 
  Me.OptionButton2 = True
End If

这很好。

问题

但是,当col19中既没有“是”也没有“否”时,我面临一个问题。出于某种原因,在浏览各行时,循环将始终为这些选项按钮定义一个布尔值。

如果对应的单元格为空白,我真的想将两者都保留为空白。

        If .Cells(i, 19).Value = "Yes" Then
            Me.OptionButton1 = True
        ElseIf .Cells(i, 19).Value = "No" Then
            Me.OptionButton2 = True
        Else
            Me.OptionButton1 = ""
            Me.OptionButton2 = ""
        End If

但这也不起作用。

有解决这个问题的聪明方法吗?

我真的很感谢这些人。

POST-SCRIPT

这个想法是,当用户注意到既没有接受请求也没有拒绝请求时,他们将不得不选择一个。除非选择其中一个,否则“下一个”和“上一个”按钮将不起作用。

这是使用以下代码完成的:

If Me.OptionButton1 = "" And Me.OptionButton2 = "" Then
   MsgBox ("You should either Accept or Reject a request.")
Exit Sub
End if

但是,这不起作用,因为我之前的循环并没有将选项按钮留空。

1 个答案:

答案 0 :(得分:1)

您的问题是因为您要将字符串(public class SuperClassGen<A> { protected ArrayList<A> o; private String a; private int b; public SuperClassGen(String a, int b) { this.a = a; this.b = b; this.o = new ArrayList<A>(); } } public class SuperClass extends SuperClassGen<String> { public SuperClass(String a, int b) { super(a, b); } } public class SubClass extends SuperClassGen<ObjectFromOtherClass> { public SubClass(String a, int b) { super(a, b); } } )设置为布尔值("")变量。

只需:

OptionButtons