• 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.

gebruik van OptionButtons

Status
Niet open voor verdere reacties.

bowlingman

Gebruiker
Lid geworden
17 okt 2007
Berichten
433
Hallo,
Ik ben met mijn Userform al aardig opgeschoten, met de beste hulp die je hier kan vinden en het beetje kennis dat ik zelf heb (ook het meeste hier geleerd).
Nu wordt alles wat op het frm wordt ingebracht netjes weggeschreven met de volgende code
Code:
Private Sub cboLedenWegschrijven_Click()
    Dim c As Range, i As Long, ctrl As Control
    Application.ScreenUpdating = False
        Set c = Sheets("Leden").Columns(1).Find(cboiD.Value, , xlValues, xlWhole)
            For i = 1 To 11
                c.Offset(, i) = Me("txtLeden" & i).Text
                c.Offset(0, 12) = Me("cboTeams").Text
            Next
        For Each ctrl In Me.Controls
            If TypeOf ctrl Is MSForms.TextBox Then
                ctrl.Text = vbNullString
            End If
            If TypeOf ctrl Is MSForms.ComboBox Then
                ctrl.Text = vbNullString
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Zoals jullie kunnen zien wordt er weggeschreven tot in kolom "M" van de sheet "Leden".
Nu heb ik op het frm nog twee OptionButtons geplaatst namelijk "OptionButtonMan" en "OptionButtonVrouw"
Hoe kan ik nu bovenstaande code nog aanpassen zodat één van beide OptionButtons is geselecteerd er respectievelijk in Kolom "N" een M voor Man of een V voor Vrouw komt te staan.
Heb al het een ander geprobeerd, maar niets lukt mij.

Grtjs.
Armand
 
Uit de losse pols zonder voorbeeld.

Code:
Private Sub cboLedenWegschrijven_Click()
    Dim c As Range, i As Long, ctrl As Control
    Application.ScreenUpdating = False
        Set c = Sheets("Leden").Columns(1).Find(cboiD.Value, , xlValues, xlWhole)
            For i = 1 To 11
                c.Offset(, i) = Me("txtLeden" & i).Text
                c.Offset(0, 12) = Me("cboTeams").Text
            Next
                If OptionButtonVrouw = True Then c.Offset(0, 14) = "V"
                If OptionButtonMan = True Then c.Offset(0, 14) = "M"
        For Each ctrl In Me.Controls
            If TypeOf ctrl Is MSForms.TextBox Then
                ctrl.Text = vbNullString
            End If
            If TypeOf ctrl Is MSForms.ComboBox Then
                ctrl.Text = vbNullString
            End If
        Next
    Application.ScreenUpdating = True
End Sub

Niels
 
Amai Niels,
Dat was snel, en zo uit de losse pols nog correct ook.
Alleen moest ik "14" vervangen door "13".
Knap werk, bedankt

Weet jij misschien ook hoe ik na het wegschrijven de OptionButton terug kan de-selecteren.
Heb geprobeert met het volgende aan de code toe te voegen
Code:
If TypeOf ctrl Is MSForms.OptionButton Then
                ctrl.Text = vbNullString
            End If
Zoals voor het leegmaken van de textboxen en de comboboxen, maar dat lukt niet.

Grtjs.
Armand
 
N is de 14de letter dan is dat natuurlijk een offset van 13:o.

Code:
ctrl.value = false


Niels
 
Laatst bewerkt:
Perfect Niels,
Ik wou dit ook eerst proberen, maar vermits er na het punt in het lijstje geen "value" voorkwam dacht ik dat dit niet juist was.

Hartelijk dank
Grtjs.
Armand
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan