【问题标题】:How do I make sure an OptionButton.Value has been chosen如何确保已选择 OptionButton.Value
【发布时间】:2011-01-01 12:14:18
【问题描述】:
我目前正在制作一个 Excel VB 应用程序。但是,我现在被困住了。我正在尝试在两个 OptionButtons 之间进行选择。
我试过代码
If Me.PWebOption.Value = False & Me.BWebOption = False Then
MsgBox "Please choose a type of website"
Exit Sub
End If
但这并没有给我所需的结果。我试着把它们放在括号里,但仍然卡住了。我确信这是一个微不足道的答案,但我刚刚开始掌握 VB,所以请原谅我。
非常感谢。
【问题讨论】:
标签:
excel
vba
vb6
if-statement
【解决方案1】:
我尝试了您的代码,如果您将 & 更改为 And,它就可以工作。我创建了 2 个 OptionButtons,将它们命名并使用“And”运行代码没有问题。
如果它仍然不起作用,那么我的猜测是:
- 你的一个或两个 OptionButtons 不是 false
或:
试试
Debug.Print Me.PWebOption.Value
Debug.Print Me.BWebOption.Value
Debug.Print Me.PWebOption 'just for fun'
Debug.Print Me.BWebOption
它应该全部返回 false。还可以尝试将Option Explicit 放在代码的开头,以确保您只访问实际存在的对象。
注意:在 VBA 中 & 仅用于连接,并且:And、Or 和 Not 是逻辑运算符。
【解决方案2】:
我不确定这是否是复制/粘贴错误,但在第一部分中您调用的是.Value,而在第二部分中您只是使用了选项本身。你的代码应该是这样的吗:
If Me.PWebOption.Value = False & Me.BWebOption.Value = False Then
MsgBox "Please choose a type of website"
Exit Sub
End If
(请注意,这两个选项都使用.Value。)