richtige Optionsfelder in Frame anwählen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm Frame
Bild

Betrifft: richtige Optionsfelder in Frame anwählen
von: Ingo
Geschrieben am: 23.09.2015 19:26:26

Hallo VBAler,
ich habe mir ein Userframe erstellt, auf dem ich ein Frame(name:frmGeschlecht) und 2 Optionsfelder (optMann und optFrau) bedienen kann.
Beim Eintragen des Userform werden dann in die Spalte 10 erfolgreich ein m für einen Mann und ein w bei Auswahl der optFrau eingetragen.
Zusätzlich werden noch durch Textfelder z.B. txtNachname in die 3Spalte des erstenfreien Userrange der Nachname geschriebengeschrieben...
Bin jetzt gerade dabei ein Rücknavigation zu basteln.
Damit mein ich, wenn ich eine Zelle in der Tabelle anklicke (navigationsframe ist ShowModal=True) wird über die
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Routine über
frmKontaktnavi.txtNachname.Value = Cells(ActiveCell.Row, 3).Value
z.B auf einem Userform frmKontaktnavi der Wert der Spalte 3 hier Nachname an das zueghörige Textfeld übergeben
AUf dem Navigationsformular habe ich genau wie in dem Eintragen Formular (das ja schon funkt) wieder EIn Frame optgeschlecht und die beiden zugehörigen optMann und optFrau.
Ich hätte jetzt logischerweise gern, dass je nach dem ob in der Spalte 10 die gerad angeklickt ist ein m oder w steht die optMann oder optFrau richtig vormarkiert wird also alleine den Focus erhält. Mein bisheriger Ansatz war dieser:
'Optionen hier mann m und frau w
If Cells(ActiveCell.Row, 10).Value = w Then
frmKontaktnavi.optFrau.SetFocus
End If
If Cells(ActiveCell.Row, 10).Value = m Then
frmKontaktnavi.optMann.SetFocus
End If
Leider wird aber so kein richtiger Focus auf das richtige Optionsfeld gesetzt.
Habt Ihr eine Idee?
Vielen Dank für Eure Hilfe!

Bild

Betrifft: AW: richtige Optionsfelder in Frame anwählen
von: Frank H.
Geschrieben am: 23.09.2015 19:37:08
Hallo Ingo!
If Cells(ActiveCell.Row, 10).Value = w Then
frmKontaktnavi.optFrau = True
Else
frmKontaktnavi.optMann = True
Probier mal, ungetestet.
Rückmeldung wäre nett!
Gruß Frank H.
End If

Bild

Betrifft: AW: richtige Optionsfelder in Frame anwählen
von: Ingo
Geschrieben am: 23.09.2015 20:26:09
Grüß dich Frank,
super dein Quelltext hat mir den richtigen Lösungsweg gezeigt!
Vielen lieben Dank!!!
Da du ja nur das w überprüfst funktioniert es wenn ich nur ein m für optMann festplege und für optFrau keinen Wert, hab diese Eigeschaft beim anlegen über das Tag Attribut zugewiesen.
Dann funktioniert dein Snippet wunderbar um im Navigationsformular das richtige Optionsfeld zu markieren beim Zellenklick in der Tabelle.
Der Vollständigkeitshalber für ähnliche Aufgaben in euren Projekten kann ich noch sagen, dass ich durch:
If optMann.Value = True Then
Cells(ActiveCell.Row, 10).Value = "m"
Else
Cells(ActiveCell.Row, 10).Value = ""
End If
im Klickereignis zum Update zum zurückschreiben in die Tabelle erfolgreich diesen Code genutzt habe.
Das funktioniert für diese beidenOptionsdelder in einem Frame wunderbar.
----------------------------------
Interessant wäre noch der Fall wenn mehr als 2 Optionsfelder ausgewertet werden, welche dann Werte in der Form opt1=1,opt2=2,opt3=3, usw besitzen und auch wieder in einem Frame zusammen sitzen...
Denke werd hierzu kurzfristig mal ein MehrOptionsbeispiel ausarbeiten damit man da die volle Optioncontroll bekommt ;)
Denke eine select case-Kontrollstruktur wäre hier dann ein passender Ansatz!?
Aber wenns da Fragen bei der Realisierung gibt, ist das sicherlich ein eigenes Forumpost Wert...
Einen wunderbar genialen Abend allen PHP-Bastlern
Ingo

Bild

Betrifft: AW: richtige Optionsfelder in Frame anwählen
von: Ingo
Geschrieben am: 23.09.2015 20:29:28
sorry meinte natürlich VBA-Bastlern und nicht PHP-Bastlern...
jaja man lebt manchmal zwischen den Welten;) Guts nächtle zusammen:)

 Bild

Beiträge aus den Excel-Beispielen zum Thema "richtige Optionsfelder in Frame anwählen"