VBA - Gezieltes Suchen, Kopieren und Einfügen in Excel
Schritt-für-Schritt-Anleitung
Um in Excel mit VBA gezielt nach einem Begriff zu suchen und die entsprechenden Werte zu kopieren, folge dieser Anleitung:
-
Öffne Excel und lade die Datei, in der du arbeiten möchtest.
-
Drücke Alt
+ F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke im Projektexplorer mit der rechten Maustaste auf dein Projekt.
- Wähle
Einfügen
und dann Modul
.
-
Kopiere den folgenden Code in das Modul:
Option Explicit
Sub kopieren()
Dim Suchergebnis As Range
Dim lngZielZeile As Long
Dim Suchwert As String
Dim lngZaehler As Long
Dim firstAddress
Dim intSpalte As Integer
lngZielZeile = 3
Suchwert = "manual"
lngZaehler = 0
With Sheets("Tabelle3")
Set Suchergebnis = .Range("E10:E150").Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
If Not Suchergebnis Is Nothing Then
firstAddress = Suchergebnis.Address
Do
For intSpalte = 1 To 4
Sheets("Tabelle4").Cells(lngZielZeile, intSpalte) = .Cells(Suchergebnis.Row, intSpalte)
Next
For intSpalte = 5 To 14
Sheets("Tabelle4").Cells(lngZielZeile, intSpalte) = .Cells(Suchergebnis.Row, intSpalte + 1)
Next
lngZielZeile = lngZielZeile + 1
lngZaehler = lngZaehler + 1
Set Suchergebnis = .Range("E10:E150").FindNext(Suchergebnis)
Loop While Not Suchergebnis Is Nothing And Suchergebnis.Address <> firstAddress
MsgBox "Es wurden zum Suchwert " & Suchwert & vbCrLf & lngZaehler & " Datensätze kopiert"
Else
MsgBox "Kein Eintrag"
End If
End With
End Sub
-
Schließe den VBA-Editor und kehre zurück zu Excel.
-
Erstelle eine Schaltfläche, um das Makro auszuführen:
- Gehe zu
Entwicklertools
> Einfügen
und wähle eine Schaltfläche aus.
- Weisen das Makro
kopieren
der Schaltfläche zu.
-
Klicke auf die Schaltfläche, um das Makro auszuführen.
Häufige Fehler und Lösungen
-
Fehler: "Kein Eintrag"
- Stelle sicher, dass das Wort "manual" korrekt in der Spalte E (Zeilen 10-150) der Tabelle 3 eingetragen ist.
-
Fehler: "Laufzeitfehler"
- Vergewissere dich, dass die Tabelle 3 und Tabelle 4 existieren und die Spalten A-N in Tabelle 4 ausreichend Platz bieten.
Alternative Methoden
Anstelle von VBA kannst du auch die Such- und Filterfunktionen in Excel nutzen:
- Wähle die Daten in Tabelle 3 aus.
- Verwende das Menü
Daten
> Filter
, um die Spalte E nach "manual" zu filtern.
- Kopiere die gefilterten Daten manuell in Tabelle 4.
Diese Methode ist besonders nützlich, wenn du keine VBA-Kenntnisse hast oder nur gelegentlich Suchen und Kopieren in Excel durchführen möchtest.
Praktische Beispiele
Stellen wir uns vor, du hast folgende Daten in Tabelle 3:
A |
B |
C |
D |
E |
1 |
Test |
Beispiel |
Daten |
manual |
2 |
Test2 |
Beispiel2 |
Daten2 |
manual |
3 |
Test3 |
Beispiel3 |
Daten3 |
kein |
Nach dem Ausführen des Makros werden die ersten beiden Zeilen in Tabelle 4 kopiert.
Tipps für Profis
- Nutze die Fehlerbehandlung in deinem VBA-Code, um mit unerwarteten Situationen umzugehen.
- Experimentiere mit Suchfunktionen wie
FindNext
, um komplexere Suchkriterien zu implementieren.
- Halte deinen Code sauber und gut kommentiert, um die Wartung zu erleichtern.
FAQ: Häufige Fragen
1. Wie kann ich den Suchwert im Code ändern?
Ändere die Zeile Suchwert = "manual"
in den gewünschten Suchbegriff.
2. Funktioniert dieser Code in Excel 2013?
Ja, der Code ist kompatibel mit Excel 2013 und sollte in dieser Version ohne Probleme laufen.
3. Was mache ich, wenn der Code nicht funktioniert?
Überprüfe, ob die Tabellenblätter korrekt benannt sind und ob der Suchwert in der richtigen Spalte vorhanden ist.