Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA Suchen und ersetzen - Blatt/Arbeitsmappe





Frage

Hallo, durch Aufzeichnen habe ich den folgenden Code in mein Makro aufgenommen: Columns("E:E").Select Selection.Replace What:="techn. OK", Replacement:="TOK", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Wenn ich es richtig ausgetestet habe, hat man keine Möglichkeit, in VBA-Code einzubauen, dass auf keinen Fall in der gesamten Arbeitsmappe, sondern ausschließlich in dem zuvor selektierten Bereich (hier: Spalte E) ersetzt wird. In meinem Fall stand im "Suchen und Ersetzen"-Popup (wahrscheinlich von einem früheren Ersetzen-Vorgang) die erste Einstellung "Suchen" auf 'Arbeitsmappe' als das Makro lief. Dadurch hat es mir auch den Inhalt sämtlicher Formeln ersetzt, was sehr viele Verknüpfungen vernichtete. Wie kann ich sicherstellen, dass das Makro ausschließlich im markierten/selektierten Bereich ersetzt? Danke für eure Hilfe, Gruß Jojo

Antwort 1 von gast123

hi all :-)

was spricht dagegen die betroffene erste zeile wegzulassen ?

gruss gast123

Antwort 2 von jojow

Hallo Gast123,

Du meinst diese?

Columns("E:E").Select

Das verstehe ich nicht - es sollen ja gerade nur diese Felder für das Ersetzen herangezogen werden.

Gruß
Jojo

Antwort 3 von gast123

hi jojo :-)

zitat
Wie kann ich sicherstellen, dass das Makro ausschließlich im markierten/selektierten

indem die erste zeile weggelassen werden sollte

bzw bei festen bereichen workbook wie worksheet angaben man vornehmen koennte

oder praezisiere deine problemstellung

gruss gast123

Antwort 4 von gast123

hi jojo :-)

eine vorgehende selection von worbooks wie worksheets sollte entfernt werden bzw korrigiert werden

zu 99% sind selectionen ueberfluessig wie auch zeitaufwendiger im ablauf

bei einem aufgenommenen makro sind die selectionen durch direkte befehlszugriffe zu korrigieren,wie z.b. schon oben erwaehnt workbooks wie worksheets angaben,mit den moeglichkeiten einer index oder namens angabe

gruss gast123

Antwort 5 von jojo5

Hallo,

ich versuche es noch einmal, obwohl ich nicht weiß, was ich hier noch präzisieren soll ...

Wenn ich die erste Zeile "Columns("E:E").Select" weglassen würde, würde sich das Ersetzen sogar auf ALLE ZELLEN des aktiven Arbeitsblatts beziehen. Das macht es ja noch schlimmer. Ich möchte, dass das Ersetzen EXAKT NUR in der Spalte E des aktiven Arbeitsblatts stattfindet. Deshalb muss ich hier eine Selektion wählen. Wenn aber im "Suchen und Ersetzen"-Popup (z.B. von einem früheren Ersetzen-Vorgang) die erste Einstellung "Suchen" auf 'Arbeitsmappe' steht während das Makro läuft, so ersetzt der Befehl in JEDER Zelle der gesamten Arbeitsmappe - und das darf auf keinen Fall passieren. Bei dem aufgezeichneten Code (s.o.) gibt es keinerlei Möglichkeit, die Einstellung "Suchen" = 'Arbeitsmappe' zurück zu nehmen.

Die Frage lautet deshalb: Gibt es einen entsprechenden Befehl, der dies ermöglicht?

Gruß
Jojo