Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen

OptionButton.Caption kopieren

Betrifft: OptionButton.Caption kopieren von: Markus
Geschrieben am: 22.02.2016 20:48:40

Liebes Forum,

ich habe eine Userform, auf welcher sich 3 OptionButton und 2 CommandButton befinden. Mein Anliegen wäre, dass wenn man einen OptionButton (1,2 oder 3) auswählt und anschließend den CommandButton1 ("Bestätigen") drückt, sich die ausgewählte OptionButton.Caption und das Label1 in Tabelle 2 kopieren.

Vielen Dank für eure Hilfe.

Private Sub CommandButton2_Click()
    quit = 1
    Unload Me
End Sub

Private Sub UserForm_Initialize()

    UserForm1.Caption = "..."
    Label1 = Sheets(1).Cells(a, 1)
    
OptionButton1.Caption = Sheets(1).Cells(a, 2)
OptionButton2.Caption = Sheets(1).Cells(a, 3)
OptionButton3.Caption = Sheets(1).Cells(a, 4)

End Sub

Private Sub CommandButton1_Click()

.....' hier weiß ich leider nicht weiter

End Sub

  

Betrifft: AW: OptionButton.Caption kopieren von: Raphael
Geschrieben am: 22.02.2016 21:16:10

Hallo Markus,

könnte man so lösen

Option Explicit

Private Sub CommandButton2_Click()
    Dim ctrl As Variant
    
    For Each ctrl In UserForm1.Controls
        Debug.Print TypeName(ctrl)
        If TypeName(ctrl) = "OptionButton" Then
            If ctrl.Value = True Then
                Sheets("Tabelle2").Cells(1, 1) = ctrl.Caption
                Sheets("Tabelle2").Cells(1, 2) = UserForm1.Label1
            End If
        End If
    Next ctrl
End Sub
Gruess
Raphael


  

Betrifft: AW: OptionButton.Caption kopieren von: Markus
Geschrieben am: 22.02.2016 22:09:10

Vielen Dank Raphael für die schnelle Antwort - funktioniert einwandfrei.

Eine bitte noch, wie müsste man den Code ergänzen, damit der Eintrag immer in die nächste freie Zelle geht in Tabelle 2.


  

Betrifft: AW: OptionButton.Caption kopieren von: Gerd L
Geschrieben am: 22.02.2016 22:15:01

Hallo Markus!

Private Sub CommandButton1_Click()

With Worksheets("Tabelle2") 
.Range("a2") = CommandButton1.Tag 'Die Ausgabezellen ggf. anpassen!
.Range("b2") = Label1.Caption
End With

End Sub

Private Sub OptionButton1_Click()
    If OptionButton1 Then CommandButton1.Tag = OptionButton1.Caption
End Sub

Private Sub OptionButton2_Click()
    If OptionButton2 Then CommandButton1.Tag = OptionButton2.Caption
End Sub

Private Sub OptionButton3_Click()
    If OptionButton3 Then CommandButton1.Tag = OptionButton3.Caption
End Sub
Gruß Gerd


  

Betrifft: AW: OptionButton.Caption kopieren von: Gerd L
Geschrieben am: 22.02.2016 22:17:43

Hallo Markus!

Private Sub CommandButton1_Click()

With Worksheets("Tabelle2") 
.Range("a2") = CommandButton1.Tag 'Die Ausgabezellen ggf. anpassen!
.Range("b2") = Label1.Caption
End With

End Sub

Private Sub OptionButton1_Click()
    If OptionButton1 Then CommandButton1.Tag = OptionButton1.Caption
End Sub

Private Sub OptionButton2_Click()
    If OptionButton2 Then CommandButton1.Tag = OptionButton2.Caption
End Sub

Private Sub OptionButton3_Click()
    If OptionButton3 Then CommandButton1.Tag = OptionButton3.Caption
End Sub
Gruß Gerd


  

Betrifft: AW: OptionButton.Caption kopieren von: Markus
Geschrieben am: 22.02.2016 22:31:01

Hallo Gerd,

Dankeschön für die schnelle Antwort :) - würdest du auch eine Variante kenne, wie man es auf Raphael Code übertragen könnte?
Ich habe noch grob im Gedächtnis, dass es irgendwas mit Rows.Count, 1 .End (xlUp).Row +1 ...

If ctrl.Value = True Then
Sheets("Tabelle2").Cells(1, 1) = ctrl.Caption
Sheets("Tabelle2").Cells(1, 2) = UserForm1.Label1

Dankeschön


  

Betrifft: AW: OptionButton.Caption kopieren von: Gerd L
Geschrieben am: 22.02.2016 22:49:14

Hallo Markus,

nenne mir einen vernünftigen Grund, weshalb ich Code mit vermeidbarer Schleife verbessern sollte.

Private Sub CommandButton1_Click()

With Worksheets("Tabelle2")
    lngZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
    If lngZeile < 2 Then lngZeile = 2 'oberste Zeile festlegen
    .Cells(lngZeile, 1) = CommandButton1.Tag
    .Cells(lngZeile, 2) = Label1.Caption
End With

End Sub
Gruß Gerd


  

Betrifft: es gibt keinen. Danke Gerd, was gelernt owt von: Raphael
Geschrieben am: 22.02.2016 23:05:22




  

Betrifft: AW: OptionButton.Caption kopieren von: Markus
Geschrieben am: 23.02.2016 22:33:12

Ja, hast recht.

Danke euch beiden nochmal


 

Beiträge aus den Excel-Beispielen zum Thema "OptionButton.Caption kopieren"