Excel VBA 用户表单选项按钮

Excel VBA 用户表单选项按钮

我创建了一个用户窗体,它需要选择一个选项按钮(从而向预期的收件人发送电子邮件),否则它将显示一个msgbox

我在语句方面遇到了问题If And Then Else。我需要代码在选中某个选项按钮时继续,而仅msgbox在未选中任何选项按钮时才显示。

我确信这是新手常犯的错误。如能得到任何帮助,我将不胜感激。

私有子程序 cmdSend_Click()

如果 optbeasley.Value = False _
并且 optmaney.Value = False _
并且 optmessana.Value = False _
并且 opttimmerman.Value = False _
并且 opttrotter.Value = False _
然后 MsgBox “请选择联系人”
别的:

接下来我
调用 Important_relocate_reformat

    如果 Me.optbeasley.Value = True 那么
    呼叫 Module4.Email_beasley
    卸载我
    万一
        如果 Me.optmaney.Value = True 那么
        调用Module4.Email_maney
        卸载我
        万一
            如果 Me.optmessana.Value = True 那么
            呼叫 Module4.Email_messana
            卸载我
            万一
                如果 Me.opttimmerman.Value = True 那么
                呼叫 Module4.Email_timmerman
                卸载我
                万一
                    如果 Me.opttrotter.Value = True 那么
                    调用 Module4.Email_trotter
                    卸载我
                    万一
                        如果 Me.chkMattBeasley.Value = True 则
                        致电 Email_beasley
                        万一
如果 Me.chkRickLeshane.Value = True 则
致电 Email_Important_Leshane
万一
        如果 Me.chkTimRuppert.Value = True 那么
        致电 Email_Important_Ruppert
        万一



子目录结束
私人子程序 optbeasley_Click()
如果 optbeasley.Value = True 那么
        chkMattBeasley.Enabled = False
    别的
        chkMattBeasley.Enabled = True
    万一
子目录结束

私有子程序 optmaney_Click()
致电 optbeasley_Click
子目录结束
私有子程序 opttimmerman_Click()
致电 optbeasley_Click
子目录结束
Private Sub opttrotter_Click()
致电 optbeasley_Click
子目录结束
Private Sub optmessana_Click()
致电 optbeasley_Click
子目录结束

我已进行编辑以显示您的代码的用法:

私有子程序 cmdSend_Click()

如果 optbeasley = 0 且 optmaney = 0 且 optmessana = 0 且 opttimmerman = 0 且 opttrotter = 0 则
MsgBox“请选择联系人”
否则:调用 cmdSend_Click2
万一

子目录结束

答案1

显然是格式问题。这个有用 -

Sub example()
Dim optbeasley As Range
Dim optmaney As Range
Dim optmessana As Range
Dim opttimmerman As Range
Dim optrotter As Range

Set optbeasley = Range("A1")
Set optmaney = Range("A2")
Set optmessana = Range("A3")
Set opttimmerman = Range("A4")
Set optrotter = Range("A5")

If optbeasley = False _
And optmaney = False _
And optmessana = False _
And opttimmerman = False _
And opttrotter = False Then
MsgBox "Please Select a Contact"
Else: MsgBox ("hi")
End If
End Sub

相关内容