Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Bedingungen mit Select Case

Mehrere Bedingungen mit Select Case
21.07.2022 15:41:06
Henry
Hallo liebes Forum,
ich habe eine Userform mit 2 Comboboxen, über die verschieden Werte ausgewählt werden können.
Des Weiteren habe ich ein Textfeld, in das Beträge eingegeben werden können.
In ComboBox1 stehen die 12 Monate.
In ComboBox2 stehen Person 1, Person 2, Person 3
In Textfeld1 ein variabler Betrag.
Ich würde gerne mittels eines Buttons die Werte auf ein Excel-Sheet übertragen.
Ich könnte nun hergehen und für jeden Fall (jede Kombination) eine Anweisung schreiben.
Zum Beispiel:
Wenn ComboBox1 = Januar, ComboBox2 = Person 1, Textfeld1 = 50, dann Zelle A1 = 50
Wenn ComboBox1 = Februar, ComboBox2 = Person 2, Textfeld1 = 30, dann Zelle A2 = 30
Kann man dies irgendwie vereinfach, so dass ich nicht jede Bedingung einzeln hin schreiben muss.
Vielleicht mit der Select Case Methode?
Über eure Hilfe wäre ich euch sehr dankbar.
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Bedingungen mit Select Case
21.07.2022 15:44:55
Nepumuk
Hallo Henry,
kannst du die Bedingungen für die Zelladresse aufschlüsseln? Also, welche Auswirkung hat das Monat, die Person und der Betrag auf die Zellauswahl?
Gruß
Nepumuk
AW: Mehrere Bedingungen mit Select Case
21.07.2022 15:49:19
Henry
Hallo,
ich habe noch etwas in diesem Thread ergänzt.
AW: Mehrere Bedingungen mit Select Case
21.07.2022 15:48:27
Henry
Kleiner Nachtrag:
Die Excel-Tabelle ist wie folgt aufgebaut.
B1 = Januar, B2 = Februar, B3 = März, B4 = April, B5 = Mai, B6 = Juni, B7 = Juli, B8 = August, B9 = September, B10 = Oktober, B11 = November, B12 = Dezember
A2 = Person 1
A3 = Person 2
A4 = Sonstiges
Zum Beispiel Zelle B2 steht dann der erste Betrag.
Anzeige
AW: Mehrere Bedingungen mit Select Case
21.07.2022 15:53:12
Nepumuk
Hallo Henry,
sind die Monate nicht eher in B1, C1, D1 .... bis M1 ?
Gruß
Nepumuk
AW: Mehrere Bedingungen mit Select Case
21.07.2022 15:56:17
Henry
Entschuldige bitte Nepumuk.
Du hast natürlich Recht!
AW: Mehrere Bedingungen mit Select Case
21.07.2022 16:02:13
Nepumuk
Hallo Henry,
teste mal:

Private Sub CommandButton1_Click()
Worksheets("Eingabe").Cells(ComboBox2.ListIndex + 2, ComboBox1.ListIndex + 2).Value = CDbl(TextBox1.Text)
End Sub
Tabellennamen anpassen !!!
Gruß
Nepumuk
Anzeige
AW: Mehrere Bedingungen mit Select Case
21.07.2022 16:11:33
Henry
Es funktioniert.
Genial!
Nun würde ich den Code gerne auf meine Tabelle anpassen.
Ich hatte es hier im Forum versucht zunächst einfach zu halten.
Die Beträge sollen eigentlich in C5 bis N7 eingetragen werden.
In C3:N3 stehen die Monate.
In B5:B7 Person 1, Person 2, Sonstiges.
Ich würde mich total freuen wenn du mir hier noch einmal mit dem Anpassen helfen würdest.
Anzeige
AW: Mehrere Bedingungen mit Select Case
21.07.2022 16:24:03
Nepumuk
Hallo Henry,
teste mal:

Private Sub CommandButton1_Click()
If ComboBox1.ListIndex > -1 Then
If ComboBox2.ListIndex > -1 Then
If IsNumeric(TextBox1.Text) Then
Worksheets("Eingabe").Cells(ComboBox2.ListIndex + 4, ComboBox1.ListIndex + 3).Value = CDbl(TextBox1.Text)
ComboBox1.ListIndex = -1
ComboBox2.ListIndex = -1
TextBox1.Text = vbNullString
Else
Call MsgBox("Bitte eine Zahl eingeben.", vbExclamation, "Hinweis")
End If
Else
Call MsgBox("Bitte eine Person auswählen.", vbExclamation, "Hinweis")
End If
Else
Call MsgBox("Bitte ein Monat auswählen.", vbExclamation, "Hinweis")
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Mehrere Bedingungen mit Select Case
21.07.2022 17:01:38
Henry
Klappt perfekt!
Vielen, vielen Dank!
Kannst du mir noch erklären wofür das hier steht?
Ich würde den Code gerne verstehen.
cmb_Month.ListIndex = -1
cmb_Salary.ListIndex = -1
txt_Amount.Text = vbNullString
AW: Mehrere Bedingungen mit Select Case
21.07.2022 17:06:18
Nepumuk
Hallo Henry,
das setz die ComboBoxen und die TextBox zurück auf leer.
Gruß
Nepumuk
Anzeige
AW: Mehrere Bedingungen mit Select Case
21.07.2022 17:25:17
Henry
Danke für die Erklärung.
Es klappt alles perfekt.
Nochmals vielen Dank für deine Unterstützung Nepumuk.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Bedingungen mit Select Case in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Arbeitsmappe und erstelle eine Userform mit zwei ComboBoxen (ComboBox1 für Monate und ComboBox2 für Personen) sowie einem Textfeld (TextBox1) für die Beträge.

  2. Füge einen Button hinzu, der die Werte auf dein Excel-Sheet überträgt.

  3. Im Code-Fenster der Userform, füge folgenden VBA-Code in das Click-Ereignis des Buttons ein:

    Private Sub CommandButton1_Click()
       If ComboBox1.ListIndex > -1 Then
           If ComboBox2.ListIndex > -1 Then
               If IsNumeric(TextBox1.Text) Then
                   Worksheets("Eingabe").Cells(ComboBox2.ListIndex + 4, ComboBox1.ListIndex + 3).Value = CDbl(TextBox1.Text)
                   ComboBox1.ListIndex = -1
                   ComboBox2.ListIndex = -1
                   TextBox1.Text = vbNullString
               Else
                   Call MsgBox("Bitte eine Zahl eingeben.", vbExclamation, "Hinweis")
               End If
           Else
               Call MsgBox("Bitte eine Person auswählen.", vbExclamation, "Hinweis")
           End If
       Else
           Call MsgBox("Bitte ein Monat auswählen.", vbExclamation, "Hinweis")
       End If
    End Sub
  4. Passe den Tabellennamen ("Eingabe") und die Zellreferenzen entsprechend deiner Tabelle an.

  5. Teste die Userform, indem du verschiedene Werte in die ComboBoxen und das Textfeld eingibst und den Button klickst.


Häufige Fehler und Lösungen

  • Fehler: "Bitte eine Zahl eingeben."

    • Lösung: Stelle sicher, dass das Textfeld tatsächlich einen numerischen Wert enthält.
  • Fehler: "Bitte eine Person auswählen."

    • Lösung: Überprüfe, ob eine Person in der ComboBox2 ausgewählt wurde.
  • Fehler: "Bitte ein Monat auswählen."

    • Lösung: Vergewissere dich, dass ein Monat in ComboBox1 ausgewählt wurde.

Alternative Methoden

Wenn du mehrere Bedingungen in Excel VBA effizienter handhaben möchtest, kannst du die Select Case-Anweisung verwenden. Hier ein einfaches Beispiel:

Private Sub CommandButton1_Click()
    Dim monthIndex As Integer
    Dim personIndex As Integer
    Dim value As Double

    If IsNumeric(TextBox1.Text) Then
        value = CDbl(TextBox1.Text)
        monthIndex = ComboBox1.ListIndex + 3 ' Monate in C3:N3
        personIndex = ComboBox2.ListIndex + 4 ' Personen in B5:B7

        Select Case True
            Case ComboBox1.ListIndex >= 0 And ComboBox2.ListIndex >= 0
                Worksheets("Eingabe").Cells(personIndex, monthIndex).Value = value
            Case Else
                MsgBox "Bitte sowohl einen Monat als auch eine Person auswählen."
        End Select
    Else
        MsgBox "Bitte eine Zahl eingeben."
    End If
End Sub

Praktische Beispiele

  • Beispiel 1: Wenn du den Betrag für "Person 1" im Monat "Januar" eingeben möchtest, wird die Zelle C5 aktualisiert.
  • Beispiel 2: Für "Person 2" und "Februar" wird die Zelle D6 aktualisiert.

Diese Struktur hilft dir, die Logik klar zu verstehen und den Code übersichtlich zu halten.


Tipps für Profis

  • Verwende Select Case für komplexere Bedingungen, um deinen Code lesbarer und wartungsfreundlicher zu gestalten.
  • Nutze die Validierung der Eingaben, um Fehlerquellen frühzeitig zu eliminieren.
  • Dokumentiere deinen Code, um die Nachvollziehbarkeit zu erhöhen, besonders wenn du mit mehreren Bedingungen arbeitest.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen If und Select Case?
If wird für einfache Bedingungen verwendet, während Select Case sich besser eignet, wenn du mehrere mögliche Werte für eine Variable überprüfen möchtest.

2. Wie kann ich mehrere Bedingungen in einer Select Case-Anweisung kombinieren?
Du kannst Select Case True verwenden und dann die spezifischen Bedingungen innerhalb der Cases definieren, um eine flexible Lösung zu erhalten.

3. Ist diese Methode auch in Excel 2019 oder Excel 365 anwendbar?
Ja, die Verwendung von VBA und Select Case funktioniert in allen aktuellen Excel-Versionen, einschließlich Excel 2019 und Excel 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige