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

VBA: Begriff in einem Satz finden und ersetzen

VBA: Begriff in einem Satz finden und ersetzen
05.08.2017 09:20:22
darren
Hi,
1. wie kann ich ein Begriff in einem Satz identifizieren und dann ersetzen?
Satz: Ich möchte gerne wieder nach Canada.
Gesucht wird Canada und soll durch Finnland ersetzt werden.
1a. wie kann ich den Begriff - im gegensatz zu oben - im Satz identifizieren, wenn z.B. der Begriff im Satz vorkommen sollte egal ob es für sich alleine steht oder nicht:
Satz: IchmöchstegernewiedernachCanada
2. wie kann ich ein Satz aus einer Zelle in Variablen Speichern?
Satz: Ich möchte gerne wieder nach Canada
Variable1: ich
Variable2: möchte
Variable3: gerne
Variable4: wieder
Variable5: nach
Variable6: Canada
Variable7: ... wenn mehr drin steht usw.
Befehle, Funktionen und wie funktioniert bzw was macht der Befehl in VBA genau?
Gruß
Darren

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Begriff in einem Satz finden und ersetzen
05.08.2017 09:29:30
Hajo_Zi
Hallo Darren,
StVariable=Range("A1")
Application.substitute.
Leerstellen keine Ahnung.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
AW: VBA: Begriff in einem Satz finden und ersetzen
05.08.2017 09:52:45
Werner
Hallo Darren,
damit ersetzt du im Sacht (steht in Zelle A10) Canada durch Finnland
Sub Makro1()
Range("A10").Value = WorksheetFunction.Substitute(Range("A10").Value, "Canada", "Finnland")
End Sub
flexibler ist es, wenn du den Betriff den du suchst und den Begriff, durch den du ersetzen willst in Zellen schreibst und dich dann auf die Zellen beziehst.
Für den Code unten:
Begriff der ersetzt werden soll steht in A7
durch was ersetzt werden soll steht in A8
der Satz steht in A10
Sub Makro1()
Range("A10").Value = WorksheetFunction.Substitute _
(Range("A10").Value, Range("A7").Value, Range("A8").Value)
End Sub
Was du mit den Variablen möchtest ist mir unklar.
Gruß Werner
Anzeige
AW: VBA: Begriff in einem Satz finden und ersetzen
05.08.2017 09:52:45
Werner
Hallo Darren,
damit ersetzt du im Sacht (steht in Zelle A10) Canada durch Finnland
Sub Makro1()
Range("A10").Value = WorksheetFunction.Substitute(Range("A10").Value, "Canada", "Finnland")
End Sub
flexibler ist es, wenn du den Betriff den du suchst und den Begriff, durch den du ersetzen willst in Zellen schreibst und dich dann auf die Zellen beziehst.
Für den Code unten:
Begriff der ersetzt werden soll steht in A7
durch was ersetzt werden soll steht in A8
der Satz steht in A10
Sub Makro1()
Range("A10").Value = WorksheetFunction.Substitute _
(Range("A10").Value, Range("A7").Value, Range("A8").Value)
End Sub
Was du mit den Variablen möchtest ist mir unklar.
Gruß Werner
Anzeige
AW: VBA: Begriff in einem Satz finden und ersetzen
05.08.2017 10:13:35
darren
Danke sehr.
Ich vergleiche immer noch Daten und versuche Stück für Stück bessere Ergebnisse zu bekommen.
Welche Funktionen habe ich in dieser Kombination zur Verfügung, um zu vermeiden, dass CASE sensitive oder nicht Case sensitive Wörter identifiziert werden?
Hat zufällig jemand schon eine Vergleichsprozedur gebaut, wo er alles mögliche vergleicht und Sachen gezielter und spezieller analysiert werden mussten, WEIL CASE sensitive Wörter, Abkürzungen, Reihenfolge verstaucht usw.
Gruß
Darren
AW: zu deiner 2. Frage:
05.08.2017 10:43:00
Daniel
Hi
wenn du die Wörter in einzelnen Variablen haben willst, dann so:
dim xxx
xxx = Split("Ich möchte gerne wieder nach Canada", " ")
dabei wird xxx ein eindimensionales Array, jedem Index wird ein Wort zugeordnet.
Die Indexzählung beginnt bei 0.
xxx(0) ist "Ich"
xxx(1) ist "möchte"
xxx(2) ist "gerne"
usw
die Anzahl der vorhandenen Indizes kannst du mit Ubound(xxx) ermitteln.
Beispielcode:
txt = "Ich möchte gerne wieder nach Canada"
xxx = split(txt, " ")
for i = 0 to ubound(xxx)
Cells(1, i + 1) = xxx(i)
Next
Gruß Daniel
Anzeige
AW: zu deiner 2. Frage:
05.08.2017 19:07:00
darren
Danke, das hilft mir schon und geht in die richtige Richtung. Danke
AW: zu deiner 2. Frage:
05.08.2017 19:14:43
darren
Gibt es eine Möglichkeit, wie man einen Satz vergleichen kann, wo ich zu X Prozent eine Ähnlichkeit feststellen kann oder nicht?
Das ist ein besonderes Kapitel, zu dem du ...
05.08.2017 20:08:37
Luc:-?
…einiges im Herber-Archiv, dessen Nutzung (RECHERCHE) ich dir ohnehin empfehlen würde, finden solltest, Darren,
denn du bist beileibe nicht der Erste, der so ein Anliegen hat!
Übrigens ist Leerzeichen der Default-Delimiter der vbFkt Split, so dass du den in diesem Fall nicht angeben müsstest.
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Das ist ein besonderes Kapitel, zu dem du ...
06.08.2017 09:24:20
Darren
Danke. Werde auch die Recherche nutzen. Die Eingabe "Listensuche" hatte ich genutzt und dachte, dass das die Suche ist :-(

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige