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

Forumthread: suchen und ersetzen

suchen und ersetzen
05.11.2022 20:37:24
Lapos
Hallo,
kann mir jemand helfen diese kleine VBA so umzustellen das für die Tabelle 1 auch eine Range festgelegt ist und nicht für die komplette Tabelle gilt?
Das Script soll Werte suchen und ersetzen.
Tabelle1 hat eine lange Liste von Namen in Spalte (H) ca 400 Werte, die ich durch standardisierte Namen ersetzen muss, die auf der Tabelle2 basieren.
In Tabelle2 steht in Spalte A der zu suchenden Werte und Spalte B der Wert mit welchem in Tabelle1 (H) ersetzt werden soll.

Option Explicit
Public Sub searchAndReplaceFromList()
Dim cel As Range
With Tabelle2
For Each cel In Tabelle2.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
Tabelle1.UsedRange.Replace cel.Value2, cel.Offset(0, 1).Value2
Next
End With
End Sub
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: suchen und ersetzen
05.11.2022 20:53:38
ralf_b

For Each cel In Tabelle2.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
With Tabelle1
Intersect(.UsedRange, .Columns("H")).Replace cel.Value2, cel.Offset(0, 1).Value2
End With
Next

AW: suchen und ersetzen
05.11.2022 21:11:12
Lapos
Hallo ralf_b
vielen Dank für die schnelle Hilfe. Das Script läuft soweit, jedoch ersetze ich auch Zahlen mit Text wie z.B 10 = Hemd , 100 = Hose, hier schreibt es dann bei der 100 anstatt Hose ein Hemd0, er liest sozusagen wohl nicht die ganze Zelle sondern fängt gleich an zu ersetzen wenn es den ersten Wert trifft. Lässt sich soetwas beheben?
Viele Grüße

Public Sub searchAndReplaceFromList()
Dim cel As Range
With Tabelle2
For Each cel In Tabelle2.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
With Tabelle1
Intersect(.UsedRange, .Columns("I")).Replace cel.Value2, cel.Offset(0, 1).Value2
End With
Next
End With
End Sub

Anzeige
AW: suchen und ersetzen
05.11.2022 21:43:50
Lapos
Ich finde es schön das man hier noch etwas lernen darf und Denkanstöße bekommt !
Bei deinem Tipp bin ich auf den Begriff "lookat:=xlWhole" gestoßen der die Problematik wohl lösen dürfte. Nur ist es mir im Moment noch nicht gegeben diesen in dem VBA Code richtig zu platzieren.
Anzeige
AW: suchen und ersetzen
05.11.2022 22:01:01
ralf_b
Parameter gibt man der Reihe nach an wie sie in der Hilfe gelistet sind.
Willst du die Reihenfolge nicht einhalten, schreibst du den Parameternamen gefolgt von ": = "davor. Siehe Hilfe.
In deinem Code sind schon zwei Parameter eingetragen, also viel Spaß beim ausprobieren.
AW: suchen und ersetzen
05.11.2022 22:06:33
onur
Einfach mal Makrorecorder einschalten, manuell "Suchen und Ersetzen" ausführen, vorher "Gesamten Zellinhalt Vergleichen" aktivieren, Makrorecorder stoppen und den entstandenen Code anschauen - dann weisst du, wie es geht.
Userbild
Anzeige
AW: suchen und ersetzen
05.11.2022 22:18:53
Lapos
Entweder ist es heute schon zu spät oder ich bin d... .
Habe es an verschiedenen Stellen probiert aber es tut nichts.

Public Sub searchAndReplaceFromList22()
Dim cel As Range
With Tabelle2
For Each cel In Tabelle2.Range("C1:C" & .Cells(.Rows.Count, 1).End(xlUp).Row)
With Tabelle1
Intersect(.UsedRange, .Columns("H")).Replace cel.Value2, cel.Offset(0, 1).Value2, LookAt:=xlWhole
End With
Next
End With
End Sub
Das ist vom Recorder

Selection.Replace What:="100", Replacement:="Hose", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

Anzeige
AW: suchen und ersetzen
05.11.2022 22:22:26
onur
Zum Vorkauen hab ich weder Zeit noch Lust - poste die Datei.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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