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

Forumthread: Text in Bereich finden

Text in Bereich finden
nontacky
Hallo Allerseits,
ich habe versucht im Forum eine Lösung zu finden, aber irgendwie klappt das alles nicht. Ich hoffe, einer von euch kann mir weiterhelfen. Ich habe eine Datei die so umfangreich ist, dass eine Suche für einen Begriff über STRG+F sehr lange dauert. Deswegen hätte ich gerne ein Makro, das nur in einem bestimmten Bereich meinen Suchbegrif (Groß & Kleinschreibung muss dabei egal sein) findet.
Meine Makros sind alle auf Englisch - ich habe sehr wenig Ahnung davon. Wenn also jemand eine Lösung hat dann am besten so, dass ich das komplette Makro direkt copy / paste einfügen kann (Office 2007).
Hier die "Aufgabe":
1.) Ich gebe in Zelle C6 der Arbeitsmappe "Eingabe" den Text ein, den ich finden will.
2.) Der Bereich in dem gesucht werden soll ist "A13 - K5000"
3.) Der Text wird kann auch als Teil eines längeren Textes in der Zelle eingetragen sein - z.B: ich suche den Text "music" im Bereich ist das aber eingetragen als "02_music_loud"
4.) Wenn es mehrere Zellen gibt, die diesen Suchtext enthalten, dann müsste ich, wie bei der "Suchen" Funktion von Excel, alle Zellen angezeigt bekommen in denen das steht.
Evt. gib es auch eine ganze schnelle Lösung indem man die Suchfunktion von Excel mit einbezieht = wenn ich nur in dem Bereich A13 - K5000 suche, ist die STRG+F Funktion für mich auch schnell genug.
Ein Makro das z.B. einfach nur den Bereich A13 - K5000 markiert, dann den Suchtext aus der Zelle C6 kopiert, die Excel Suchfunktion öffnet, den Suchtext einkopiert und "Alle Suchen" auslöst wäre phänomenal.
Vielen Dank!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
dann such doch nur in dem Bereich!
10.06.2010 12:12:00
Rudi
Hallo,
im Adressfeld A13:K5000 eintippen und dann die Suchfunktion aufrufen.
Gruß
Rudi
Suchbegriff in Bereich suchen
10.06.2010 12:12:30
NoNet
Hallo nontacky,
mit folgendem Makro kannst Du den Suchbegriff im Bereich A13:K5000 suchen und die gefundenen Zellen markieren :
Sub BegriffInBereichSuchen()
'Sucht innerhalb eines Bereiches einen bestimmten Suchbegriff und markiert diese Zellen
'10.06.2010, NoNet - www.excelei.de
Dim rngBereich As Range, rngSuchbegriff As Range, rngZelle As Range
Dim strSuchbegriff As String
'Suchbegriff aus Zelle C6 des Blattes "Eingabe" auslesen :
strSuchbegriff = Sheets("Eingabe").Range("C6").Value
'Hier den zu durchsuchenden Bereich angeben :
Set rngBereich = Sheets("Eingabe").[A13:K5000]
Set rngZelle = rngBereich.Find(strSuchbegriff, lookat:=xlPart, LookIn:=xlValues)
If Not rngZelle Is Nothing Then Set rngSuchbegriff = rngZelle
While Not rngZelle Is Nothing
Set rngSuchbegriff = Union(rngSuchbegriff, rngZelle)
Set rngZelle = rngBereich.FindNext(after:=rngZelle)
If Not Intersect(rngSuchbegriff, rngZelle) Is Nothing Then
Set rngZelle = Nothing
End If
Wend
If rngSuchbegriff Is Nothing Then
MsgBox "Suchbegriff '" & strSuchbegriff & "' wurde nicht gefunden !"
Else
rngSuchbegriff.Select
MsgBox "Suchbegriff '" & strSuchbegriff & "' wurde in folgenden " & _
rngSuchbegriff.Cells.Count & " Zellen gefunden :" & _
vbLf & vbLf & rngSuchbegriff.Address
End If
'Speicher für Objektvariablen in umgekehrter Reihenfolge wieder freigeben :
Set rngSuchbegriff = Nothing
Set rngZelle = Nothing
End Sub
Kopiere den VBA-Code in ein allgemeines Modul (z.B. "Modul1") im VBA-Editor.
Beachte, dass Du die Mappe unter XL2007 als *.XLSM speichern musst und dass die Makros standardmässig deaktiviert sind !
Gruß, NoNet
Anzeige
AW: Suchbegriff in Bereich suchen
10.06.2010 12:34:27
nontacky
Hallo NoNet,
vielen Dank für Deine Hilfe - das Makro rockt! Alles funktioniert einwandfrei.
Viele Grüße,
nontacky
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text in Bereich finden


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Öffne Deine Excel-Datei und gehe auf das Blatt "Eingabe".

  2. Suchtext eingeben: Trage den Text, den Du suchen möchtest, in Zelle C6 ein.

  3. Makro einfügen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.
    • Kopiere den folgenden VBA-Code in das Modul:
    Sub BegriffInBereichSuchen()
       Dim rngBereich As Range, rngSuchbegriff As Range, rngZelle As Range
       Dim strSuchbegriff As String
       strSuchbegriff = Sheets("Eingabe").Range("C6").Value
       Set rngBereich = Sheets("Eingabe").[A13:K5000]
       Set rngZelle = rngBereich.Find(strSuchbegriff, lookat:=xlPart, LookIn:=xlValues)
       If Not rngZelle Is Nothing Then Set rngSuchbegriff = rngZelle
       While Not rngZelle Is Nothing
           Set rngSuchbegriff = Union(rngSuchbegriff, rngZelle)
           Set rngZelle = rngBereich.FindNext(after:=rngZelle)
           If Not Intersect(rngSuchbegriff, rngZelle) Is Nothing Then
               Set rngZelle = Nothing
           End If
       Wend
       If rngSuchbegriff Is Nothing Then
           MsgBox "Suchbegriff '" & strSuchbegriff & "' wurde nicht gefunden!"
       Else
           rngSuchbegriff.Select
           MsgBox "Suchbegriff '" & strSuchbegriff & "' wurde in folgenden " & _
           rngSuchbegriff.Cells.Count & " Zellen gefunden :" & _
           vbLf & vbLf & rngSuchbegriff.Address
       End If
       Set rngSuchbegriff = Nothing
       Set rngZelle = Nothing
    End Sub
  4. Makro speichern: Speichere die Datei als *.XLSM, um das Makro zu aktivieren.

  5. Makro ausführen: Kehre zu Excel zurück und führe das Makro aus, um den Text im Bereich A13:K5000 zu finden.


Häufige Fehler und Lösungen

  • Fehler: "Makros sind deaktiviert": Stelle sicher, dass Du die Datei im richtigen Format (*.XLSM) gespeichert hast und aktiviere die Makros in den Excel-Optionen.
  • Fehler: "Suchbegriff nicht gefunden": Überprüfe, ob der Suchtext in Zelle C6 korrekt eingegeben wurde und im Suchbereich vorhanden ist.
  • Fehler: Das Makro funktioniert nicht: Stelle sicher, dass der eingegebene Text auch als Teil eines längeren Textes in der Zelle vorhanden sein kann (z.B. "02_music_loud" für die Suche nach "music").

Alternative Methoden

Wenn Du kein Makro verwenden möchtest, kannst Du auch die integrierte Excel-Suchfunktion nutzen:

  1. Markiere den Bereich A13:K5000.
  2. Drücke STRG + F, um das Suchfenster zu öffnen.
  3. Gib den Suchtext in das Feld "Suchen nach" ein und klicke auf "Alle Suchen".

Diese Methode ist einfach, allerdings weniger effektiv, wenn Du viele Zellen durchsuchen und die Ergebnisse markiert haben möchtest.


Praktische Beispiele

  • Beispiel 1: Suche nach dem Text "music". Wenn in Zelle A15 "02_music_loud" steht, wird diese Zelle als Ergebnis angezeigt.
  • Beispiel 2: Wenn Du nach "test" suchst und sowohl in A20 als auch in B25 der Text "test123" und "123test" steht, werden beide Zellen markiert.

Diese Beispiele verdeutlichen, wie Du den Excel-Bereich finden und Text in diesem Bereich suchen kannst.


Tipps für Profis

  • Verwendung von Wildcards: Du kannst Platzhalter verwenden, um flexibler zu suchen. Zum Beispiel kann *music* auch "02_music_loud" finden.
  • Suchbereich anpassen: Passe den Suchbereich an, um die Leistung zu optimieren, insbesondere bei großen Datenmengen.
  • Fehlerbehandlung im Makro: Füge zusätzliche Fehlerbehandlung in Dein Makro ein, um unerwartete Probleme abzufangen und die Benutzererfahrung zu verbessern.

FAQ: Häufige Fragen

1. Kann ich das Makro für andere Bereiche anpassen? Ja, ändere einfach den Bereich A13:K5000 im Makro zu dem Bereich, in dem Du suchen möchtest.

2. Funktioniert dieses Vorgehen in allen Excel-Versionen? Das bereitgestellte Makro wurde für Excel 2007 entwickelt, sollte jedoch auch in neueren Versionen funktionieren. Achte darauf, die Datei im richtigen Format zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige