Dropdown Wert auslesen in Excel
Schritt-für-Schritt-Anleitung
Um den Wert aus einem Dropdown-Menü in Excel auszulesen und basierend auf diesem Wert bestimmte Zeilen zu kopieren, kannst du das folgende VBA-Makro verwenden. Achte darauf, dass du die richtige Excel-Version verwendest, die VBA unterstützt.
- Öffne Excel und gehe zu "Entwicklertools".
- Klicke auf "Visual Basic", um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu und kopiere den folgenden Code:
Sub MakroUebersicht()
Dim Zelle As Range
Dim i As Long 'i = Zeile
Dim leereZeile As Long, oShape As Shape
Dim wert, wert2
i = 4
With Sheets("RG2 (Vergabe)")
Application.ScreenUpdating = False
For Each Zelle In .Range(.Cells(i, 7), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 6))
Set oShape = .Shapes("Dropdown 618")
With oShape.ControlFormat
wert = .Value 'Indexwert des ausgewählten Listenwertes
If .ListIndex = 0 Then
MsgBox "Kein Wert ausgewählt in """ & oShape.Name & """!"
GoTo Beenden
Else
wert2 = .List(.Value) 'ausgewählter Listenwert
End If
End With
If wert2 = "rot" Or wert2 = "gelb" Then
.Range("A" & i - 1, "N" & i).Copy
With Sheets("Übersicht")
leereZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
leereZeile = WorksheetFunction.Max(5, leereZeile)
.Cells(leereZeile, 1).PasteSpecial
End With
Rows(i).Select
Rows(i).EntireRow.AutoFit
i = i + 1
End If
Next
End With
Beenden:
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
- Schließe den VBA-Editor und führe das Makro aus.
Häufige Fehler und Lösungen
-
Laufzeitfehler 1004: "Die Value-Eigenschaft des DropDown-Objektes kann nicht zugeordnet werden."
- Ursache: Es wurde kein Eintrag im Dropdown ausgewählt.
- Lösung: Stelle sicher, dass ein Eintrag im Dropdown-Menü gewählt ist, bevor du das Makro ausführst.
-
Wert wird nicht korrekt aus dem Dropdown ausgelesen.
- Ursache: Möglicherweise hast du die Punkte in der Dropdown-Definition vergessen.
- Lösung: Überprüfe die Logik im Makro und entferne unnötige Punkte oder Anpassungen.
Alternative Methoden
Wenn du den Wert aus dem Dropdown-Menü nicht mittels VBA auslesen möchtest, kannst du auch die Funktion WENN
in Kombination mit INDEX
und VERGLEICH
verwenden. Diese Methode ist jedoch nicht so flexibel und erfordert manuelle Anpassungen.
Praktische Beispiele
Angenommen, du hast eine Liste von Aufgaben in Spalte A, und in Spalte G hast du das Dropdown-Menü mit den Farben. Hier ein Beispiel, wie du die Werte auslesen und in das Tabellenblatt „Übersicht“ kopieren kannst:
- Aufgabe: "Projekt A" mit Dropdown-Wert "rot" in Zelle G4.
- Ergebnis: Die gesamte Zeile von „Projekt A“ wird in das Blatt „Übersicht“ kopiert.
Tipps für Profis
- Nutze die
Application.ScreenUpdating = False
-Anweisung, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren. Das verbessert die Performance, besonders bei großen Datenmengen.
- Setze
On Error Resume Next
, um Laufzeitfehler zu ignorieren, aber sei vorsichtig, da dies auch unerwartete Ergebnisse liefern kann.
FAQ: Häufige Fragen
1. Wie kann ich den Wert aus dem Dropdown in einer Zelle direkt anzeigen?
Du kannst die Funktion =INDIREKT()
verwenden, um den Wert aus dem Dropdown in einer Zelle anzuzeigen.
2. Was kann ich tun, wenn mein Dropdown nicht richtig funktioniert?
Überprüfe die Datenquelle des Dropdowns und stelle sicher, dass die Liste korrekt formatiert ist. Manchmal hilft es, das Dropdown neu zu erstellen.