Was ist der schnellste Weg, Werte in Zellen über VBA zu ersetzen?

Was ist der schnellste Weg, Werte in Zellen über VBA zu ersetzen?

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 NextPaar. Ich dachte jedoch, dass es dadurch einfacher wäre, mehrere Arbeitsmappen gleichzeitig auszuführen.

verwandte Informationen