Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Listbox wechseln mit Optionbuttons


Betrifft: Listbox wechseln mit Optionbuttons von: Matthias
Geschrieben am: 29.10.2017 01:25:24

Hi,
ich schreibe im Moment an einem kleinen Projekt von mir. Es ist ein Kassenbuch für mein Konto zum überwachen aller Einnahmen und Ausgaben.
Ich habe eine Userform zur Dateneingabe für Monat, Kategorie, Bemerkung und Betrag. Außerdem besitzt die Userform Optionbuttons um festzuzlegen ob es sich um eine Ausgabe oder Einnahme handelt.

Ich habe 2 Listboxen in der Userform die direkt übereinander liegen.
- ListBox_Kategorie_Einnahmen
- ListBox_Kategorie_Ausgaben
Wenn ich den Optionbutton Einnahme aktiviere, soll die ListBox_Kategorie_Ausgaben nicht angezeigt werden.
Wenn ich den Optionbutton Ausgabe aktiviere, soll die ListBox_Kategorie_Einnahme nicht angezeigt werden.

Hier mein kompletter Code der Userform:

Option Explicit

Private Sub btn_Abbrechen_Click()
Unload Me
End Sub

Private Sub btn_Ok_click()
Dim lZeile As Long
lZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
If lZeile < 28 Then lZeile = 28
Cells(lZeile, 1).Value = ListBox_Monat.Value
Cells(lZeile, 2).Value = TextBox_Bemerkung.Value
Cells(lZeile, 3).Value = ListBox_Kategorie_Ausgaben.Value

If OptionButton1.Value = True Then Cells(lZeile, 4) = TextBox_Betrag.Value
If OptionButton2.Value = True Then Cells(lZeile, 5) = TextBox_Betrag.Value

Dim ObCb As Object
    For Each ObCb In Me.Controls
    If TypeName(ObCb) = "TextBox" Then ObCb.Value = ""
    Next ObCb

End Sub

Private Sub UserForm_Initialize()

With ListBox_Monat
        .AddItem "Januar"
        .AddItem "Februar"
        .AddItem "März"
        .AddItem "April"
        .AddItem "Mai"
        .AddItem "Juni"
        .AddItem "Juli"
        .AddItem "August"
        .AddItem "September"
        .AddItem "Oktober"
        .AddItem "November"
        .AddItem "Dezember"
End With

With ListBox_Kategorie_Ausgaben
        .AddItem "Auto/Bus/Zug"
        .AddItem "Barentnahme"
        .AddItem "Elektronik"
        .AddItem "Fastfood"
        .AddItem "Finanzierung"
        .AddItem "Freizeit"
        .AddItem "Frisör"
        .AddItem "Gaming"
        .AddItem "Geschenk"
        .AddItem "Handy"
        .AddItem "Haushaltsgeld"
        .AddItem "Katzen"
        .AddItem "Kleidung"
        .AddItem "Kontogebühr"
        .AddItem "Lebensmittel"
        .AddItem "Sonstiges"
        .AddItem "Sparkonto"
        .AddItem "Wohnung"
        .AddItem "Zusatzversicherung"
End With

With ListBox_Kategorie_Einnahmen
        .AddItem "Geschenk"
        .AddItem "Lohn"
        .AddItem "Sonstiges"
End With

OptionButton2.Value = True

End Sub
Kann mir jemand dabei behilflich sein? Wäre echt super, habe leider nichts dazu gefunden...
LG Matthias

  

Betrifft: AW: Listbox wechseln mit Optionbuttons von: Werner
Geschrieben am: 29.10.2017 06:08:29

Hallo Matthias,

zum Beispiel so:

Private Sub Ausgabe_Click()
'Button Ausgabe gewählt
If Me.Ausgabe = True Then
    Me.ListBox1.Visible = False
    Me.ListBox2.Visible = True
End If
End Sub

Private Sub Einnahme_Click()
'Button Einnahme gewählt
If Me.Einnahme = True Then
    Me.ListBox1.Visible = True
    Me.ListBox2.Visible = False
End If
End Sub

Private Sub UserForm_Initialize()
'beide Button abwählen
Me.Einnahme = False
Me.Ausgabe = False

'beide Listboxen ausblenden
Me.ListBox1.Visible = False
Me.ListBox2.Visible = False

End Sub
Ich gehe mal davon aus, dass due die beiden OptionButton in einem Frame liegen hast. Wenn nicht, dann solltest du das tun. Das hat den Vorteil, dass immer nur ein OptionButton ausgewählt sein kann und du dich nicht per Code darum kümmern musst.

Gruß Werner


  

Betrifft: AW: Listbox wechseln mit Optionbuttons von: Hajo_Zi
Geschrieben am: 29.10.2017 09:35:01

Deine Namen konnte ich nicht vergeben, da Leerstellen im Namen nicht zulässig sind.

Option Explicit

'Wenn ich den Optionbutton Einnahme aktiviere, soll die ListBox_Kategorie_Ausgaben nicht  _
angezeigt werden.
' Wenn ich den Optionbutton Ausgabe aktiviere, soll die ListBox_Kategorie_Einnahme nicht  _
angezeigt werden.

Private Sub Optionbutton_Ausgabe_Click()
    ListBox_Kategorie_Einnahme.Visible = Optionbutton_Einnahme
    ListBox_Kategorie_Ausgaben.Visible = Optionbutton_Ausgabe

End Sub
Private Sub Optionbutton_Einnahme_Click()
    ListBox_Kategorie_Einnahme.Visible = Optionbutton_Einnahme
    ListBox_Kategorie_Ausgaben.Visible = Optionbutton_Ausgabe
End Sub

Private Sub UserForm_Activate()
    ListBox_Kategorie_Einnahme.Visible = Optionbutton_Einnahme
    ListBox_Kategorie_Ausgaben.Visible = Optionbutton_Ausgabe
End Sub
GrußformelHomepage

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.

Beiträge von Werner, Luc, robert und folgende lese ich nicht.


Beiträge aus den Excel-Beispielen zum Thema "Listbox wechseln mit Optionbuttons"