Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Suchen und Ersetzen in der ges. Mappe
09.01.2022 17:22:25
Andreas
Hallo Zusammen,
benötige Hilfe bei einem Schulprojekt:
Es gibt eine Basisdatei, die mit Daten aus neuen Dateien gefüttert wird.
Ziel ist es hierbei per VBA die Funktion "Suchen und Ersetzen" für alle Tabellenblätter bis auf das Letzte anzuwenden.

Sub Datenaktualsieren()
Dim AP As String
Dim NP As String
Dim wks As Variant
For Each wks In ActiveWorkbook.Worksheets
If wks.Index  ActiveWorkbook.Sheets.Count Then
AP = Sheets("Produktionsplanung").Range("M4").Value
NP = Sheets("Produktionsplanung").Range("M5").Value
Cells.Replace What:=(AP), Replacement:= _
(NP), LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
Exit For
Next
End Sub
Leider klappt das bislang nur für ein (aktuell angezeigtes) Tabellenblatt.
Kann mir hierbei bitte jemand helfen?
Wie müsste eine Messagebox aussehen, die mir schlussendlich wiedergibt, wie viele Werte geändert wurden?
Viele Grüße & Danke

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und Ersetzen in der ges. Mappe
09.01.2022 18:10:46
RPP63
Moin!

Cells.Replace 
bezieht sich immer auf das aktive Blatt.
Da fehlt die Referenzierung auf das Parent!
Folglich

wks.Cells.Replace
Gruß Ralf
AW: Suchen und Ersetzen in der ges. Mappe
09.01.2022 18:18:40
Andreas
Hallo Ralf
danke für die Info.
Leider funktioniert das dennoch nicht.

Sub Datenaktualsieren()
Dim AP As String
Dim NP As String
Dim wks As Variant
For Each wks In ActiveWorkbook.Worksheets
If wks.Index  ActiveWorkbook.Sheets.Count Then
AP = Sheets("Produktionsplanung").Range("M4").Value
NP = Sheets("Produktionsplanung").Range("M5").Value
wks.Cells.Replace What:=(AP), Replacement:= _
(NP), LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
Exit For
Next
End Sub

Anzeige
AW: Suchen und Ersetzen in der ges. Mappe
09.01.2022 18:32:01
GerdL
Moin Andreas,
es könnte mit am "Exit For" liegen.
Die Ausnahme-Blätter musst du ggf. anpassen.

Sub Unit()
Dim AP As String
Dim NP As String
Dim WKS As Worksheet
AP = Worksheets("Produktionsplanung").Range("M4").Value
NP = Worksheets("Produktionsplanung").Range("M5").Value
For Each WKS In ActiveWorkbook.Worksheets
If WKS.Name  "Produktionsplanung" Then
WKS.Cells.Replace What:=AP, Replacement:=NP, LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
Next
End Sub
Gruß Gerd
Beispieldatei?
09.01.2022 18:32:25
RPP63
Ansonsten iteriere doch anders:

For i = 1 To Worksheets.Count - 1
Worksheets(i).Cells.Replace …
Next

Anzeige
AW: Suchen und Ersetzen in der ges. Mappe
09.01.2022 21:03:08
PawelPopolski
Was soll das Exit For in deinem Code? Entweder du lässt es weg oder du setzt ein Else davor und packst das ganze vor das End If. Funktioniert hervorragend.
AW: Suchen und Ersetzen in der ges. Mappe
09.01.2022 21:56:15
PawelPopolski
Ich habe versucht die Frage nach der Anzahl der Änderungen mit CountIf zu lösen. 8 Änderungen, aber es werden 42 gemeldet.
https://www.herber.de/bbs/user/150292.xlsm
AW: Suchen und Ersetzen in der ges. Mappe
09.01.2022 22:13:39
GerdL
Moin Pawel,
du machst die Wertzuweisung an die Variable AP erst nach dem ersten CountIf.
Im benutzten Bereich von Tabelle3 sind da wohl schon 36 (AP= "") leere Zellen zu zählen gewesen.
Gruß Gerd
Anzeige
AW: Suchen und Ersetzen in der ges. Mappe
10.01.2022 06:38:26
PawelPopolski
Besten Dank, Gerd. Da hatte ich wohl Knöpfe auf den Augen :-)
AW: Suchen und Ersetzen in der ges. Mappe
10.01.2022 10:59:23
Andreas
Hallo Gerd & Pawel,
Wo konkret muss ich die Wertzuweisung einsetzen bzw. wie muss der fertige Code dann aussehen?
vielen Dank für die Unterstützung.
AW: Suchen und Ersetzen in der ges. Mappe
10.01.2022 17:51:41
PawelPopolski
Hallo,
das j=.... muss hinter die Zeile AP=...
AW: Suchen und Ersetzen in der ges. Mappe
13.01.2022 10:47:10
Andreas
Guten Morgen,
leider habe ich nach wie vor das Problem, dass die Daten nur in einem (aktuell offenen) Tabellenblatt ersetzt werden, die anderen Tabellenblätter bleiben aber unberührt.
Ich habe bereits auch schon anders iteriert, das hat leider auch nicht geholfen.
Anbei der Link zu einer abgespeckten Datei (ohne Messagebox).
https://www.herber.de/bbs/user/150366.xlsm
Grüße & Danke vorab.
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige