Zellinhalt per VBA suchen und kopieren
Schritt-für-Schritt-Anleitung
Um in Excel den Zellinhalt per VBA zu suchen und zu kopieren, kannst du die folgenden Schritte ausführen:
-
Öffne den VBA-Editor:
- Drücke
ALT
+ F11
, um den VBA-Editor zu öffnen.
-
Erstelle ein neues Modul:
- Klicke auf
Einfügen
> Modul
.
-
Füge den folgenden VBA-Code ein:
Sub FuelleAuf()
Dim i As Long
Dim wks As Worksheet
Dim strmerke As String
Dim bende As Boolean
Set wks = ActiveSheet
i = 2
bende = False
Do While bende = False
If wks.Cells(i, 1).Value <> "" Then
If wks.Cells(i, 1).Value = "Gebäude" Then
strmerke = wks.Cells(i, 2).Value
End If
wks.Cells(i, 3).Value = strmerke
Else
If wks.Cells(i + 1, 1).Value = "" Then
bende = True
End If
End If
i = i + 1
Loop
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus:
- Drücke
ALT
+ F8
, wähle FuelleAuf
aus und klicke auf Ausführen
.
Häufige Fehler und Lösungen
-
Problem: Der Code funktioniert nicht, wenn Leerzeilen vorhanden sind.
- Lösung: Ändere den Code wie folgt, um mehrere Leerzeilen zu überspringen:
For i = 2 To llast
If wks.Cells(i, 1).Value <> "" Then
If wks.Cells(i, 1).Value = "Gebäude" Then
strmerke = wks.Cells(i, 2).Value
End If
wks.Cells(i, 3).Value = strmerke
End If
Next i
-
Problem: Der VBA-Code kopiert nicht die gewünschten Werte.
- Lösung: Stelle sicher, dass die Bedingungen im Code korrekt sind. Überprüfe, ob der Begriff "Gebäude" exakt so geschrieben ist.
Alternative Methoden
Wenn du Excel suchen und kopieren möchtest, ohne VBA zu verwenden, kannst du auch eine Formel nutzen:
- Gehe zu Zelle
C2
und gib folgende Formel ein:
=WENN(A2="";"";WENN(A2="Gebäude";B2;C1))
- Ziehe die Formel nach unten, um die anderen Zeilen auszufüllen.
Beachte, dass dies bei großen Tabellen umständlich sein kann, insbesondere wenn du oft Werte in Excel zeilenweise kopieren möchtest.
Praktische Beispiele
Ein praktisches Beispiel für die Nutzung des VBA-Codes könnte wie folgt aussehen:
-
Tabelle:
A B
1 Gebäude Schuppen
2 Werkzeug Schaufel
3 Werkzeug Gießkanne
4 Sonstige Winterräder
5
6 Gebäude Haus
7 Bauteil Tür
-
Erwartetes Ergebnis in Spalte C:
C
1 Schuppen
2 Schuppen
3 Schuppen
4 Schuppen
5
6 Haus
7 Haus
Tipps für Profis
-
Code optimieren: Versuche, den Code so zu gestalten, dass er flexibel ist, um auch mit Tabellen zu arbeiten, die nicht immer gleich aufgebaut sind.
-
Verwendung von Option Explicit
: Füge dies oben im Modul hinzu, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.
-
Testen des Codes: Teste den Code immer mit einer Kopie deiner Daten, um unerwartete Ergebnisse zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich den Code anpassen, um andere Begriffe zu suchen?
Du kannst einfach den Begriff "Gebäude" im Code durch den gewünschten Suchbegriff ersetzen.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code ist mit den meisten Excel-Versionen kompatibel, die VBA unterstützen, einschließlich Excel 2010 und neuer.
3. Kann ich den Code für andere Spalten anpassen?
Ja, du kannst die Spaltenindizes im Code ändern, um mit anderen Spalten zu arbeiten. Achte darauf, die Logik entsprechend anzupassen.