der folgende Code sucht in Spalte C die in arName1 angeführten Zellinhalte und ersetzt sie durch die in arName2 angeführten Zellinhalte.
Jetzt wollte ich den Code in der Personl.xls speichern damit er alle Blätter der aktiven Mappe (bis auf 1) auf einmal durchläuft. Tut er so aber nicht, er läuft zwar durch, bearbeitet aber nur das gerade aktive Blatt. Was muss geändert werden, damit alle Blätter (bis auf 1) bearbeitet werden?
Option Explicit
Sub SuchenErsetzen()
Dim arName1 As Variant
Dim arName2 As Variant
Dim i As Long
Dim lngSpalte As Long
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name "SpaltenNr_im_LöschCode_angeben" Then
arName1 = Sheets("SpaltenNr_im_LöschCode_angeben").Range("A2:A" & Cells(Rows.Count, _
1).End(xlUp).Row).Value
arName2 = Sheets("SpaltenNr_im_LöschCode_angeben").Range("B2:B" & Cells(Rows.Count, _
1).End(xlUp).Row).Value
On Error Resume Next
lngSpalte = Columns(InputBox("SpaltenBuchstabe eingeben, in der die Aktion Suchen/ _
Ersetzen durchgeführt werden soll!", "SpaltenBuchstabe eingeben/ändern", "C")).Column
On Error GoTo Ende
If lngSpalte > 0 Then
For i = LBound(arName1) To UBound(arName1)
Columns(lngSpalte).Replace arName1(i, 1), arName2(i, 1), xlWhole
Next
End If
End If
Next ws
Exit Sub
Ende:
Err.Clear
End Sub
Besten Dank für die Hilfe und Servus, Walter