Bestimmte Zellen in meiner Arbeitsmappe enthalten den Wert „A“. Ich möchte den Wert „A“ durch „B“ ersetzen.
Sie verteilen sich auf mehrere Blätter. Wie lässt sich der Ersatz in VBA am effizientesten implementieren?
Antwort1
Das funktioniert bei mir
For Each wb In Workbooks
For Each sh In wb.Worksheets
sh.Cells.SpecialCells(xlCellTypeConstants).Replace What:="a", Replacement:="b", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next sh
Next wb
Ich habe lediglich mit dem Makrorekorder eine Such- und Ersetzungsoperation aufgezeichnet und dann die Schleifen hinzugefügt.
Wenn Sie die Änderung nicht in allen geöffneten Arbeitsmappen vornehmen möchten, entfernen Sie das äußere For
Next
Paar. Ich dachte jedoch, dass es dadurch einfacher wäre, mehrere Arbeitsmappen gleichzeitig auszuführen.