Werte in einer Excel-Rangliste durchsuchen und ausgeben
Schritt-für-Schritt-Anleitung
Um Werte in einer Excel-Tabelle zu durchsuchen und in einer neuen Spalte auszugeben, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
- Füge den folgenden Code in das Modul ein:
Sub WerteAusgeben()
Dim Bereich As Range
Dim lngR As Long
lngR = 1 ' Startzeile für die Ausgabe in Tabelle2
For Each Bereich In Tabelle1.UsedRange
If Bereich.Value <> "" Then
Tabelle2.Cells(lngR, 1).Value = Bereich.Value
lngR = lngR + 1
End If
Next Bereich
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro aus, indem Du
ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Du solltest nun alle nicht-leeren Werte aus Tabelle1
in Tabelle2
in Spalte A sehen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Funktion FILTER
(verfügbar in Excel 365) verwenden, um ähnliche Ergebnisse zu erzielen. Hier ist ein Beispiel:
=FILTER(A1:B4, A1:B4<>"", "Keine Daten gefunden")
Diese Formel gibt alle nicht-leeren Werte aus dem Bereich A1:B4 zurück.
Praktische Beispiele
Angenommen, Du hast folgende Werte in Tabelle1
(z.B. A1:B4):
A B
2
3
9
4
89
5
34
Nach dem Ausführen des VBA-Makros wird Tabelle2
so aussehen:
A
2
3
9
4
89
5
34
Tipps für Profis
- Nutze
Option Explicit
am Anfang Deines VBA-Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
- Experimentiere mit
Application.ScreenUpdating = False
, um die Ausführungsgeschwindigkeit des Makros zu erhöhen, besonders bei großen Datenmengen.
- Verwende
With
-Anweisungen, um den Code lesbarer und effizienter zu machen.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um Daten aus mehreren Blättern zu sammeln?
Du kannst eine Schleife über alle Blätter hinzufügen und die Daten entsprechend in Tabelle2
ausgeben.
2. Was mache ich, wenn ich nur bestimmte Werte filtern möchte?
Du kannst die Bedingung im If
-Statement anpassen, um nur Werte zu berücksichtigen, die einem bestimmten Kriterium entsprechen (z.B. If Bereich.Value > 10 Then
).
3. Ist dieses VBA-Skript mit Excel 2016 kompatibel?
Ja, der Code funktioniert auch in Excel 2016 und neueren Versionen.