Message box als er geen Optionbutton is geselecteerd

Status
Niet open voor verdere reacties.

Ricusva

Nieuwe gebruiker
Lid geworden
21 jan 2009
Berichten
2
Hallo Allemaal,

Ik ben nog niet zo heel ver in het maken van een VBA.
Maar ik heb een UserForm gemaakt met daarin 3 Optionbuttons, CommandButton (OK) en CommandButton (Annuleren).

Ik heb daar de volgende code voor
Code:
Private Sub cmdOK_Click()
If Optionbutton1.Value = True Then
 [B11].Value = "Geen werkzaamheden"
                   
ElseIf Optionbutton2.Value = True Then
 UserForm2.Show
              
ElseIf Optionbutton3.Value = True Then
 UserForm3.Show
        
End If

Unload Me

Worksheets("2").Select
UserForm4.Show

End Sub

Alle Optionbuttons staan op "False"
Zodat alle optionbuttons leeg zijn (dus geen stip in staan)
Maar als ik niks aan klik en op OK druk gaat alles gewoon verder.
Dus wordt er ook niks in excel ingevult.

Ik zou dus graag willen dat wanneer er geen keuze is gemaakt dat er dan een messagebox komt dat er niks is ingevult.

Is dit mogelijk met de optionbuttons?

Alvast bedankt voor jullie hulp.
 
Je zou om te beginnen de knop OK op Disabled moeten zetten bij het initializeren van het formulier. De code die je nu gebruikt werkt alleen als je op de knop klikt, en het klikken is dus niet afhankelijk van de waarden uit je opties. Op basis van die optierondjes kun je de knop OK dan weer op Enabled zetten, zodat hij klikbaar is.
 
@ OctaFish

Ik ben een heel end geholpen met je reactie.
Heb nu mijn Commandbutton (OK) in de eigenschappen Enable op False gezet.
En de volgende code aan de Optiebuttons gegeven
Code:
Private Sub Optiebutton1_Click()
cmdOK1.Enabled = True
End Sub

Private Sub Optiebutton2_Click()
cmdOK1.Enabled = True
End Sub

Private Sub Optiebutton3_Click()
cmdOK1.Enabled = True
End Sub

Nu opent mijn UserForm met de OK knop die je niet kan aanklikken.
En pas als de keuze gemaakt is kan de knop gebruikt worden.

Heb alleen geen idee wat je met Initialiseren bedoelde.

Bedankt voor je reactie
 
Bij het openen van het formulier kun je in de procedure Initialize van het rapport een aantal standaardinstellingen meegeven.
Code:
Private Sub UserForm_Initialize()
     cmdOK1.Enabled = False
     cmdOK1.Enabled = False
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan