Botões de opção do formulário do usuário do Excel VBA

1

Eu criei um formulário de usuário que exigirá que um botão de opção seja selecionado (enviando por e-mail o destinatário pretendido), caso contrário ele exibirá um msgbox .

Estou com um problema com as instruções If And Then Else . Preciso que o código continue se um dos botões de opção estiver selecionado, exiba apenas o msgbox se não houver nenhum botão de opção selecionado.

Tenho certeza de que esse é um erro de novato. Qualquer ajuda seria muito apreciada.

Private Sub cmdSend_Click()

If optbeasley.Value = False _
And optmaney.Value = False _
And optmessana.Value = False _
And opttimmerman.Value = False _
And opttrotter.Value = False _
Then MsgBox "Please Select a Contact"
Else:

Next i
Call Important_relocate_reformat

    If Me.optbeasley.Value = True Then
    Call Module4.Email_beasley
    Unload Me
    End If
        If Me.optmaney.Value = True Then
        Call Module4.Email_maney
        Unload Me
        End If
            If Me.optmessana.Value = True Then
            Call Module4.Email_messana
            Unload Me
            End If
                If Me.opttimmerman.Value = True Then
                Call Module4.Email_timmerman
                Unload Me
                End If
                    If Me.opttrotter.Value = True Then
                    Call Module4.Email_trotter
                    Unload Me
                    End If
                        If Me.chkMattBeasley.Value = True Then
                        Call Email_beasley
                        End If
If Me.chkRickLeshane.Value = True Then
Call Email_Important_Leshane
End If
        If Me.chkTimRuppert.Value = True Then
        Call Email_Important_Ruppert
        End If



End Sub
Private Sub optbeasley_Click()
If optbeasley.Value = True Then
        chkMattBeasley.Enabled = False
    Else
        chkMattBeasley.Enabled = True
    End If
End Sub

Private Sub optmaney_Click()
Call optbeasley_Click
End Sub
Private Sub opttimmerman_Click()
Call optbeasley_Click
End Sub
Private Sub opttrotter_Click()
Call optbeasley_Click
End Sub
Private Sub optmessana_Click()
Call optbeasley_Click
End Sub

Eu editei para mostrar o uso do seu código:

Private Sub cmdSend_Click()

If optbeasley = 0 And optmaney = 0 And optmessana = 0 And opttimmerman = 0 And opttrotter = 0 Then
MsgBox "Please Select a Contact"
Else: Call cmdSend_Click2
End If

End Sub
    
por Joe 04.02.2015 / 04:30

1 resposta

0

É a formatação, aparentemente. Isso funciona -

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
    
por 04.02.2015 / 14:22