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

Zeile kopieren, wenn Wert aus Zelle gefunden wird

Forumthread: Zeile kopieren, wenn Wert aus Zelle gefunden wird

Zeile kopieren, wenn Wert aus Zelle gefunden wird
01.03.2004 13:01:20
Jörg
Hallo Excelperten!
Ich möchte eine Tabelle die sich ständig erweitert, nach einem bestimmten Wert durchsuchen, der in einer Zelle steht. Wenn der Wert gefunden wird soll die ganze Zeile in ein anderes Tabellenblatt kopiert werden. Bisher habe ich sowas ähnliches immer mit diesem Makro gemacht:
Dim Quellsheet As Worksheet
Dim Zielsheet As Worksheet
Dim rng As Range
Dim lngQ As Long
Dim lngz As Long

Set wksQ = Sheets("Quellsheet")
Set wksZ = Sheets("Zielsheet")
lngQ = wksQ.Range("A65536").End(xlUp).Row
lngz = wksZ.Range("A65536").End(xlUp).Row + 1
If lngz <> 1 Then lngz = 1
For Each rng In wksQ.Range(wksQ.Cells(1, 1), wksQ.Cells(lngQ, 1))
If rng.Value = Irgendetwas Then
rng.EntireRow.Copy wksZ.Cells(lngz, 1)
lngz = lngz + 1
End If
Next
Bei diesem Makro wird in Spalte A vom Quellsheet nach "Irgendetwas" gesucht. Wenn das gefunden wird, wird die ganze Zeile ins Zielsheet kopiert. Ich dachte das ich nur "Irgendetwas" durch eine Zellenangabe "Range("A1").Select" oder so ersetzen muss, aber das funktioniert nicht. Vielleicht kann mir jemand von Euch einen Tipp geben. Wenn jemand einen anderen Weg kennt, z.B. ein anderes Makro oder so, wäre ich auch dafür sehr dankbar.
MfG
Jörg
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile kopieren, wenn Wert aus Zelle gefunden wird
01.03.2004 13:08:44
Holger
Hallo Jörg
Range("A1").Value nicht Select
Gruß Holger
AW: Zeile kopieren, wenn Wert aus Zelle gefunden wird
01.03.2004 13:13:33
Jörg
Hallo Holger,
anstatt was muss ich "Range("A1").value" schreiben? Wenn ich das anstatt "Irgendetwas" schreibe, funktioniert das leider nicht. Noch einen Tipp?
Gruß
Jörg
Vielen Dank Holger!!!
01.03.2004 13:22:46
Jörg
Man sollte das Makro auch vom Quellsheet aus starten, dann klappt es ausgezeichnet!!!! Vielen Dank dafür!
Anzeige
AW: Einzeiler
01.03.2004 13:22:32
Galenzo
Hallo Jörg,
geht das hier:
On Error Resume Next
Sheets("Tabelle1").Columns(1).Find("irgendwas").EntireRow.Copy Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp)(2)
in Tabelle1 wird nach "irgendwas" gesucht und wenn gefunden die komplette Zeile in die Tabelle2 kopiert.

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

Zeile kopieren in Excel: Wert aus Zelle finden und übertragen


Schritt-für-Schritt-Anleitung

Um eine Zeile in Excel zu kopieren, wenn ein bestimmter Wert in einer Zelle gefunden wird, kannst du das folgende Makro verwenden. Damit wird der Wert in einer Zelle gesucht und die gesamte Zeile in ein anderes Tabellenblatt übertragen.

  1. Öffne die Excel-Datei mit der Tabelle, die du durchsuchen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden VBA-Code in das Modul ein:

    Sub ZeileKopieren()
       Dim Quellsheet As Worksheet
       Dim Zielsheet As Worksheet
       Dim rng As Range
       Dim lngQ As Long
       Dim lngZ As Long
    
       Set Quellsheet = Sheets("Quellsheet")
       Set Zielsheet = Sheets("Zielsheet")
       lngQ = Quellsheet.Range("A65536").End(xlUp).Row
       lngZ = Zielsheet.Range("A65536").End(xlUp).Row + 1
    
       If lngZ <> 1 Then lngZ = 1
    
       For Each rng In Quellsheet.Range(Quellsheet.Cells(1, 1), Quellsheet.Cells(lngQ, 1))
           If rng.Value = Quellsheet.Range("A1").Value Then
               rng.EntireRow.Copy Zielsheet.Cells(lngZ, 1)
               lngZ = lngZ + 1
           End If
       Next
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro kopiert keine Zeilen.

    • Lösung: Stelle sicher, dass der Wert, nach dem gesucht wird, tatsächlich in der Quell-Tabelle vorhanden ist und dass du das Makro vom Quellsheet aus startest.
  • Fehler: Der Wert aus einer Zelle wird nicht korrekt übertragen.

    • Lösung: Überprüfe, ob die Referenz Quellsheet.Range("A1").Value korrekt ist und das richtige Tabellenblatt ausgewählt wurde.

Alternative Methoden

Eine alternative Methode ist die Verwendung der Find-Funktion in Excel. Hier ist ein einfaches Beispiel:

Sub ZeileKopierenMitFind()
    On Error Resume Next
    Sheets("Tabelle1").Columns(1).Find("irgendwas").EntireRow.Copy Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp)(2)
End Sub

Dieses Makro sucht nach dem Wert "irgendwas" in der ersten Spalte von "Tabelle1" und kopiert die gesamte Zeile in "Tabelle2".


Praktische Beispiele

Angenommen, du möchtest nach einem bestimmten Namen in einer Liste suchen:

  • Ersetze Quellsheet.Range("A1").Value durch die Zelle, die den gesuchten Namen enthält.
  • Wenn in Zelle B1 der Name "Max" steht, wird das Makro alle Zeilen kopieren, die "Max" in der ersten Spalte enthalten.

Tipps für Profis

  • Nutze Application.ScreenUpdating = False zu Beginn des Makros, um die Bildschirmaktualisierung zu deaktivieren, und setze es am Ende wieder auf True. Das beschleunigt die Ausführung des Makros erheblich.

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft dir, Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Frage: Kann ich das Makro anpassen, um nach mehreren Werten zu suchen?
Antwort: Ja, du kannst eine Schleife erstellen, die durch eine Liste von Werten iteriert und überprüft, ob einer dieser Werte gefunden wird.

2. Frage: Funktioniert das Makro in älteren Excel-Versionen?
Antwort: Ja, das Makro sollte in den meisten Versionen von Excel (ab Excel 2007) funktionieren. Achte darauf, dass dein VBA-Editor korrekt eingerichtet ist.

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