Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text in Spalte suchen, Zeile kopieren

Text in Spalte suchen, Zeile kopieren
Henner
Hallo zusammen,
mit dem folgenden Code (Ausschnitt) lasse ich einen bestimmten Text in einer Spalte suchen und die Zeile, die den Text enthält, kopieren. Der zu suchende Begriff steht in Tabelle ACM Zelle B51.

Dim c As Range
Set c = Sheets("ACM_DB").Range("E:E").Find(Sheets("ACM").Range("B51"))
If Not c Is Nothing Then
c.EntireRow.Copy
Jetzt ist es leider so, dass der Code nicht nur nach dem gesuchten Begriff (Bsp.: Esel) sucht, sondern auch nach Begriffen, die "Esel" enthalten (Bsp.: Eselsbrücke). Ich möchte aber, dass nur Esel gefunden wird.
Wie liesse sich der Code entsprechend anpassen?
Vielen Dank im Voraus
Henner
Anzeige
AW: Text in Spalte suchen, Zeile kopieren
12.04.2012 19:42:09
Hajo_Zi
Hallo Henner,
vioelleicht solltest Du paar mehr Schalter angeben.
Set RaFound = .Range("A1:A" & LoLetzte).Find(sSearch, , , xlWhole, xlByRows, xlNext)

AW: Text in Spalte suchen, Zeile kopieren
12.04.2012 20:07:53
Henner
Hallo Hajo,
vielen Dank für Deine Antwort. Leider bin ich nicht soweit im Thema, als dass ich Deinen Vorschlag verarbeiten könnte. Es wäre super von Dir wenn Du mir mit einem kompletten Code weiterhelfen würdest, der das gewünschte Resultat bringt.
Besten Dank & Gruß
Henner
Anzeige
AW: Text in Spalte suchen, Zeile kopieren
12.04.2012 20:09:53
Hajo_Zi
Hallo Henner,
Deinen Suchbereich eintragen undDein Suchbegriff eintragen hätte ich nicht als Problem angesehen. Du siehst es in Deinem Code ich nicht.
Gruß Hajo
AW: Text in Spalte suchen, Zeile kopieren
12.04.2012 20:50:46
Henner
Hallo,
dass Du das nicht als Problem ansehen musst freut mich. Ich hingegen schon. Ich bin kein Profi und auch weit davon entfernt, ich brauche einfach nur den geposteten Code angepasst - als komplette Lösung.
Danke...
Anzeige
AW: Text in Spalte suchen, Zeile kopieren
12.04.2012 21:11:42
Reinhard
Hallo Henner,
Dim c As Range
With Sheets("ACM_DB")
Set c = .Range("E:E").Find(.Range("B51"), , , xlWhole, xlByRows, xlNext)
If Not c Is Nothing Then
c.EntireRow.Copy

Gruß
Reinhard
AW: Text in Spalte suchen, Zeile kopieren
12.04.2012 21:23:32
Henner
Hallo Reinhard,
ich kann im Moment nicht testen, hoffe aber das es funktioniert und danke dir für deine Hilfe!
Schönen Abend noch
Henner
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Text in Spalte suchen und Zeile kopieren in Excel


Schritt-für-Schritt-Anleitung

Um einen bestimmten Text in einer Spalte zu suchen und die gesamte Zeile zu kopieren, kannst Du den folgenden VBA-Code verwenden. Der gesuchte Begriff steht in der Zelle B51 der Tabelle "ACM". Hier ist die angepasste Version des Codes:

Dim c As Range
With Sheets("ACM_DB")
    Set c = .Range("E:E").Find(.Range("B51"), , , xlWhole, xlByRows, xlNext)
    If Not c Is Nothing Then
        c.EntireRow.Copy
    End If
End With

Dieser Code sucht nach dem exakten Text in der Spalte E und kopiert die gesamte Zeile, falls der Text gefunden wird. Der Parameter xlWhole sorgt dafür, dass nur exakte Übereinstimmungen gefunden werden, was bedeutet, dass Begriffe wie "Eselsbrücke" nicht mehr erfasst werden.


Häufige Fehler und Lösungen

  • Problem: Der Code findet auch Teilbegriffe (z.B. "Eselsbrücke").

    • Lösung: Stelle sicher, dass Du xlWhole im Find-Befehl verwendest, um nur exakte Übereinstimmungen zu finden.
  • Problem: Der Code funktioniert nicht, wenn die Tabelle nicht richtig benannt ist.

    • Lösung: Überprüfe die Namen der Tabellenblätter ("ACM_DB" und "ACM") auf Schreibfehler.

Alternative Methoden

Eine alternative Methode zur Suche nach einem Text in einer Spalte ist die Verwendung der Excel-Suche über die Benutzeroberfläche:

  1. Wähle die Spalte aus, in der Du nach dem Text suchen möchtest.
  2. Drücke Strg + F, um das Suchfenster zu öffnen.
  3. Gib den gesuchten Begriff ein und klicke auf „Optionen“.
  4. Wähle „Gesamte Zelle“ aus, um nur exakte Übereinstimmungen zu finden.

Diese Methode eignet sich hervorragend, wenn Du keinen VBA-Code verwenden möchtest.


Praktische Beispiele

Angenommen, Du suchst in der Spalte E nach dem Begriff "Esel". Der angepasste VBA-Code würde sicherstellen, dass nur die Zeile kopiert wird, die genau "Esel" enthält. Wenn Du z.B. Liedtexte analysierst, kann dieser Code nützlich sein, um spezifische Zeilen aus einer Datenbank zu extrahieren.


Tipps für Profis

  • Nutze Fehlerbehandlungen im VBA-Code, um sicherzustellen, dass der Code robust ist:
If c Is Nothing Then
    MsgBox "Text nicht gefunden."
Else
    c.EntireRow.Copy
End If
  • Experimentiere mit der Kombination von Find und AutoFilter, um präzisere Suchen durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehrere Suchbegriffe zu verwenden? Du kannst eine Schleife verwenden, um durch eine Liste von Suchbegriffen zu iterieren und für jeden Begriff den Suchvorgang durchzuführen.

2. Was ist, wenn ich nach Teilen von Texten suchen möchte? In diesem Fall solltest Du xlPart anstelle von xlWhole verwenden, aber beachte, dass dies auch Teilbegriffe finden wird, wie "Eselsbrücke".

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