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

Forumthread: suche mit platzhalter

suche mit platzhalter
25.05.2008 17:07:00
Jakobi
Hallo zusammen,
gibt es eine Möglichkeit mit VBA in einer Textdatei nach einer Zeile zu suchen die eine Zeichenkette
z.B. "52_" beinhaltet. Alle mit diesem Suchstring gefundene Zeilen sollen dann mit einer Zeichenkette ergänzt werden.
z.B.:
gesucht nach "(XXXXXX52_X)" ergänzt mit ""$$K52$$" soll dann so "$$K52$$"(XXXXXX52_X)" aussehen.
Die mit "X" gekenzeichneten Stellen können von einem zum anderen mal unterschiedlich sein.
Kann mir jemand helfen?
Vielen Dank im voraus.
mfG Jakobi

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: suche mit platzhalter
25.05.2008 17:34:58
Reinhard
Hi Jakobi,

Option Explicit
Sub tt()
Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
If InStr(Zelle.Value, "52_") > 0 Then Zelle.Value = "$$K52$$" & Zelle.Value
Next Zelle
End Sub

Wenn du noch Anführungszeichen drinhaben willst, dann z.B. so:
If InStr(Zelle.Value, "52_") > 0 Then Zelle.Value = "$$K52$$" & chr(34) & Zelle.Value
Gruß
Reinhard

Anzeige
AW: suche mit platzhalter
25.05.2008 17:38:00
Daniel
Hi
also eine Text-Datei mit VBA direkt zu bearbeiten, stelle ich mir schwierig vor, da Excel und VBA (VisualBasic For APPLICATIONS, in diesem Falle Excel) dafür nicht gebaut wurden.
wenn du die Möglichkeit hast, die Textdatei mit Excel zu öffnen, dann geht das relativ einfach so:
- Textdatei öffnen (möglichst keine Aufteilung in Spalten wählen, der ganze Text sollte in Spalte A stehen)
- in Spalte B folgende Formel eingeben und nach unten kopieren:

=Wenn(Zählenwenn(A1;"*52_*")=0;A1;"$$K52$$"&A1)


- wenn alles passt, Spalte B kopieren und BEARBEITEN - INHALTE EINFÜGEN - WERTE klicken (jetzt werden die Formeln durch FIX-Werte ersetzt)
- Spalte A löschen
- die Datei mit Speichern unter wieder als Text-Datei speichern.
falls du es als Makro benötigst, lass dabei einfach den Recorder mitlaufen.
der aufgezeichnete Code wird noch ein paar Anpassungen benötigen, aber im Prinzip passts so.
gruß, Daniel

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Effektive Nutzung von Platzhaltern in Excel


Schritt-für-Schritt-Anleitung

  1. Textdatei in Excel öffnen: Stelle sicher, dass die gesamte Textdatei in einer Spalte (z.B. Spalte A) ohne Aufteilung in mehrere Spalten geöffnet wird.

  2. Formel zum Suchen mit Platzhaltern eingeben: In Spalte B gibst du folgende Formel ein, um nach der Zeichenkette „52_“ zu suchen:

    =WENN(ZÄHLENWENN(A1;"*52_*")=0;A1;"$$K52$$"&A1)
  3. Formel nach unten kopieren: Ziehe die untere rechte Ecke der Zelle mit der Formel nach unten, um sie auf die anderen Zellen in Spalte B anzuwenden.

  4. Formeln durch Werte ersetzen: Markiere die gesamte Spalte B, kopiere sie, klicke mit der rechten Maustaste und wähle „Inhalte einfügen“ > „Werte“, um die Formeln durch die berechneten Werte zu ersetzen.

  5. Ursprüngliche Spalte löschen: Lösche die Spalte A, damit nur die bearbeiteten Werte in Spalte B übrig bleiben.

  6. Datei speichern: Speichere die Datei unter „Speichern unter“ als Textdatei.


Häufige Fehler und Lösungen

  • Fehler: Die Formel funktioniert nicht und gibt Fehler zurück.

    • Lösung: Überprüfe, ob der Text in Spalte A korrekt eingegeben wurde und keine zusätzlichen Leerzeichen enthält.
  • Fehler: Es werden nicht alle Zeilen bearbeitet.

    • Lösung: Stelle sicher, dass alle relevanten Daten in der genutzten Range enthalten sind und die Formel korrekt kopiert wurde.

Alternative Methoden

Eine weitere Möglichkeit, Platzhalter in Excel zu verwenden, ist die Nutzung von VBA. Hier ist ein einfaches Beispiel, wie du mit VBA nach einem Platzhalter suchen und die Daten bearbeiten kannst:

Option Explicit
Sub SucheMitPlatzhalter()
    Dim Zelle As Range
    For Each Zelle In ActiveSheet.UsedRange
        If InStr(Zelle.Value, "52_") > 0 Then
            Zelle.Value = "$$K52$$" & Zelle.Value
        End If
    Next Zelle
End Sub

Mit diesem VBA-Skript kannst du bestimmte Zeilen in Excel schnell bearbeiten, indem du „52_“ als Platzhalter verwendest.


Praktische Beispiele

  • Beispiel 1: Du hast eine Liste von Aufträgen in Spalte A und möchtest alle Aufträge, die „52_“ enthalten, mit „$$K52$$“ versehen.

  • Beispiel 2: Wenn du nach einem bestimmten Text suchst, kannst du die Funktion „Suchen und Ersetzen“ mit Platzhaltern nutzen, um gezielt bestimmte Zeichenfolgen zu finden und zu ersetzen.


Tipps für Profis

  • Nutze die Funktion „Suchen und Ersetzen“ mit Platzhaltern, um effizient in großen Datenmengen zu arbeiten. Beispielsweise kannst du „*“ als Platzhalter für beliebige Zeichen verwenden.

  • Experimentiere mit Kombinationen von Platzhaltern, um komplexe Suchanfragen durchzuführen, wie z.B. „Excel nach Sternchen suchen“.

  • Erstelle Makros, die häufige Suchen und Ersetzungen automatisieren, um Zeit zu sparen und Fehler zu minimieren.


FAQ: Häufige Fragen

1. Wie kann ich Platzhalter in Excel verwenden?
Du kannst Platzhalter wie „*“ und „?“ in Funktionen wie ZÄHLENWENN oder Suchen und Ersetzen verwenden, um flexible Suchkriterien zu definieren.

2. Was ist der Unterschied zwischen „Suchen“ und „Suchen und Ersetzen“?
„Suchen“ findet nur die angegebenen Begriffe, während „Suchen und Ersetzen“ die gefundenen Begriffe durch einen neuen Text ersetzt, was sehr nützlich ist, wenn du mehrere Änderungen gleichzeitig vornehmen möchtest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige