• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

keuzescherm

Status
Niet open voor verdere reacties.

hansvanhest

Nieuwe gebruiker
Lid geworden
25 nov 2009
Berichten
4
Beste helpers

Voor een project waarin een vraag wordt gesteld met meerdere keuzemogelijkheden wil ik graag een keuzeschermpje maken dat opkomt als de vraag aan de orde is en nadat de keuze is ingegeven weer weg gaat.
Ik heb het nu opgelost met inputbox en dan de keuze bijv. 1 De heer; 2 Mevrouw;3 Anders. De macro gaat dan na welke keuze is ingegeven en bij Anders als antwoord verschijnt een tweede inputbox.
Kan dit niet op een elegantere manier; bijv met een scherm met invulronjes of i.d.
Ik heb het antwoord niet in de helpbestanden kunnen vinden.

Hans
 
Heb je hier al gekeken?
Hier is nog een link met voorbeeld.
 
Laatst bewerkt:
Beste Wim,

Bedankt voor het antwoord.
Ik weet niet zeker of dat is wat ik bedoel.
Ik heb in mijn project in VBA de volgende subroutine opgenomen:

mv:
If Cells([rij], [2]) = "Stichting" Then vm = "Stichting": Return
vm = InputBox(" 1: De Heer" + Chr$(13) + " 2: Mevrouw" + Chr$(13) + " 3: Stichting" + Chr$(13) + " 4: N.v.t." + Chr$(13) + " 5: Anders", [" Aanspreektitel"])
If InStr(1, "12345", vm) = 0 Then vm = ""
If vm = "1" Then vm = "De Heer"
If vm = "2" Then vm = "Mevrouw"
If vm = "3" Then vm = "Stichting"
If vm = "4" Then vm = ""
If vm = "5" Then vm = InputBox("Wat is de titel van deze relatie?")
Return

Ik zoek iets dergelijks in VBA waarbij de keuze kan worden aangeklikt d.m.v. keuzerondjes. Nadat de keuze is gemaakt moet dan ook het keuzescherm verdwijnen zoals ook InputBox doet.
Is dat mogelijk?

Vriendelijke groet,
Hans
 
hansvanhest,

Ik zoek iets dergelijks in VBA waarbij de keuze kan worden aangeklikt d.m.v. keuzerondjes.
Nadat de keuze is gemaakt moet dan ook het keuzescherm verdwijnen zoals ook InputBox doet.
Is dat mogelijk?

Dan moet je in VBA een Userform invoegen, daarop Labels met "De Heer" enz. en keuze rondjes, ook een OK knop zodat je het Userform kan sluiten.
 
hansvanhest,

Ik weet niet of je hier wat aan heb.
Het zal ook wel beter kunnen denk ik.
 

Bijlagen

hansvanhest,

Ik weet niet of je hier wat aan heb.
Het zal ook wel beter kunnen denk ik.

2. Opmerkingen met opbouwende bedoelingen. Zeker geen kritiek of terechtwijzing.

- Optionbuttons hebben zelf al een caption. Dus ipv dat je naast een optionbutton een label zet kan je in de caption van de Optionbutton de tekst (in dit geval bijvoorbeeld "de heer", "mevrouw", etc). zetten.
Deze captions zou je dan in cel B2 kunnen zetten. Bijv.:

Code:
Dim CT As Control
    For Each CT In Me.Controls
        If TypeOf CT Is OptionButton Then
            If CT.Value = True Then [B2].Value = CT.Caption
        End If
    Next
Er wordt gecontroleerd of een control een Optionbutton is en zo ja of deze is aangeklikt.
Als dat ook het geval is dan verschijnt de tekst van de Optionbutton in cel B2.
- Je hoeft in je code maar 1 keer Unload Me te gebruiken onder End If omdat de code daar altijd op uit komt.

Met vriendelijke groet,


Roncancio
 
@Roncancio
Ook opbouwend :D
Code:
Dim CT As Control
    For Each CT In Me.Controls
        If TypeOf CT Is [COLOR="Red"]MSForms.[/COLOR]OptionButton Then
            If CT Then [B2] = CT.Caption
        End If
    Next
Unload Me
@Hans
Nu volledig met inputbox
Code:
Private Sub cmdOK_Click()
Dim CT As Control
If OptionButton5 Then
    [B2] = InputBox("Geef andere titel", "Aanspreking")
Else
    For Each CT In Me.Controls
        If TypeName(CT) = "OptionButton" Then
            If CT Then [B2] = CT.Caption
        End If
    Next
End If
Unload Me
End Sub
 

Bijlagen

Laatst bewerkt:
Roncancio,

2. Opmerkingen met opbouwende bedoelingen.
Ik vind dit niet erg, je steek er altijd wel wat van op.:thumb:
Zelf schrijf ik altijd van links naar rechts, dus dat keuze rondje wil ik dan ook rechts hebben.
Heb het net gekeken en gezien (nu pas) dat je dit kunt instellen.
Hartelijk bedankt voor de opmerking, dus toch wat van opgestoken. :thumb:
 
@Roncancio
Ook opbouwend :D
Code:
Dim CT As Control
    For Each CT In Me.Controls
        If TypeOf CT Is [COLOR="Red"]MSForms.[/COLOR]OptionButton Then
            If CT Then [B2] = CT.Caption
        End If
    Next
Unload Me

MSForms kan je toevoegen maar is niet per sé noodzakelijk.
Bedankt voor de les.;)

Met vriendelijke groet,


Roncancio
 
Dan zal mijn Excel nachtelijke kuren gehad hebben, want in 1ste instantie deed de code het niet maar na toevoeging van MSForms wel. Alleszins mijn excuses Roncancio.
 
Dan zal mijn Excel nachtelijke kuren gehad hebben, want in 1ste instantie deed de code het niet maar na toevoeging van MSForms wel. Alleszins mijn excuses Roncancio.

Excuses hoeft niet, want om wellicht problemen te voorkomen is het misschien idd handig om MSForms toe te voegen.
Het is goed om corrigeren als ik niet scherp ben.:thumb:

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Voor wie niet op Excel 2007 is overgestapt:

Code:
    With Assistant.NewBalloon
        .BalloonType = msoBalloonTypeButtons
        .Icon = msoIconNone
        .Button = msoButtonSetNone
        .Heading = "Maak een keuze voor de aanhef"
        .Labels(1).Text = "De heer"
        .Labels(2).Text = "Mevrouw"
        .Labels(3).Text = "Stichting"
        c0 = Choose(.Show, "De heer", "Mevrouw", "Stichting")
    End With
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan