Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

VBA Suchen/Ersetzen inkl. Anzahl der Ersetzungen

VBA Suchen/Ersetzen inkl. Anzahl der Ersetzungen
14.05.2009 11:54:34
Randolf
Hallo Excel-Gemeinde,
ich habe folgende Aufgabenstellung? Mit der normalen Suchen & Ersetzen-Funktion wird im Anschluss die Anzahl der Ersetzungen mitgeteilt. So weit so gut. Ich habe jetzt das Makro aufgezeichnet und es normal ablaufen lassen. Aber es kommt keine Anzahl der Ersetzungen?
1.) Wie sieht der Code für diesen Wunsch aus?
2.) Wie bekomme ich das für mehrere Suchen/Ersetzungen hin, in einem VBA?
3.) Wie kann ich die Geschwindigkeit erhöhen? Wir arbeiten mir sehr vielen Verweisen auf andere Tabellenblätter!
Diese Frage hat nicht die Priorität, wäre aber nett zu wissen.
4.) Wie bekomme ich es hin, dass er ohne jedes Blatt auswählen, in allen Blättern sucht?

Sub mcr_FindReplace()
Application.ScreenUpdating = False
For Each wks In Worksheets
intCounter = intCounter + 1
wks.Select                                                                 ' wählt die  _
einzelen Blätter aus
Cells.Replace What:="Maerz", Replacement:="April", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="per 03", Replacement:="per 04", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="Mrz", Replacement:="Apr", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next wks
Application.ScreenUpdating = True
If intCounter = 1 Then
MsgBox "Die aktive Arbeitsmappe hat 1 Arbeitsblatt!"
Else
MsgBox "Die aktive Arbeitsmappe hat " & _
intCounter & " Arbeitsblätter!"
End If
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Suchen/Ersetzen inkl. Anzahl der Ersetzungen
14.05.2009 12:48:44
dieter(drummer)
Hi Randolf,
zu der Frag: "Diese Frage hat nicht die Priorität, wäre aber nett zu wissen.
4.) Wie bekomme ich es hin, dass er ohne jedes Blatt auswählen, in allen Blättern sucht?"
Hier ein Makro, dass ich auch aus diesem Forum habe. Es funktioniert.

Sub MultiSuchenMitZaehlen() ' Suchbegriff in gesamter Mappe mit Zählen
Dim x As Long, Y As Long
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox("Bitte Suchbegriff eingeben:")
For Each wks In Worksheets
Set rng = wks.Cells.Find( _
What:=sFind, _
LookAt:=xlWhole, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
x = 0
Do
Application.GoTo rng, True
x = x + 1
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then
MsgBox x & " Fundstellen", vbInformation + vbOKOnly, "Fertig": Y = Y + x
Exit Do
End If
Loop
End If
Next wks
MsgBox "Gesamt Fundstellen = " & Y
End Sub


Evtl. hilft es Dir.
Gruß dieter(drummer)

Anzeige
AW: VBA Suchen/Ersetzen inkl. Anzahl der Ersetzungen
14.05.2009 13:50:49
Randolf
Hallo Dieter,
danke für den Code. Da habe ich eine Idee für den Zähler, aber im großen und ganzen habe ich auch eine For each wks ... Schleife.
Die Frage ist vielleicht an diesem Beispiel etwas konkreter, gibt es für diese Befehl nicht noch einen Anhang, der die gesamte Mappe durchsucht. Dies ist ja auch im Dialogfenster Suchen/Ersetzen möglich auszuwählen.

Cells.Replace What:="Maerz", Replacement:="April", LookAt:=xlPart, SearchOrder:=xlByRows,  _
MatchCase:=False, SearchFormat:=False,  ReplaceFormat:=False


Gruß
Randolf

Anzeige
AW: Es wird in ganzer Mappe gesucht!
14.05.2009 14:19:23
dieter(drummer)
Hi Randolf,
es wird in ganzer Mappe gesucht je einzelnem Tabellenblatt. Es wird je Tabellenblatt gesucht und Anzahl der Fundstellen angegegeben und am Ende die Gesamtzahl ausgeweisen.
Gruß
dieter(drummer)
AW: Es wird in ganzer Mappe gesucht!
15.05.2009 13:47:28
Randolf
Hallo Dieter,
leider stimmt etwas an meinem Code nicht! Siehst du es?

Sub mcr_MultiSuchenMitZaehlen() ' Suchbegriff in gesamter Mappe mit Zählen
Dim x As Long, Y As Long
Dim wks As Worksheet
Dim rng As Range
Dim strAddress As String, strFind As String, strReplace As String
strFind = InputBox("Bitte Suchbegriff eingeben:")
strReplace = InputBox("Bitte den Zielbegriff eingeben:")
For Each wks In Worksheets
Set rng = wks.Cells.Replace(What:=strFind, Replacement:=strReplace, LookAt:=xlWhole,  _
SearchOrder:=xlByColumns, MatchCase:=True)
If Not rng Is Nothing Then
strAddress = rng.Address
x = 0
Do
Application.Goto rng, True
x = x + 1
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = strAddress Then
MsgBox x & " Ersetzungen", vbInformation + vbOKOnly, "Fertig": Y = Y + x
Exit Do
End If
Loop
End If
Next wks
MsgBox "Gesamte Ersetzungen = " & Y


Anzeige
AW: Es wird in ganzer Mappe gesucht!
15.05.2009 16:29:56
dieter(drummer)
Hi Randolf,
konnte mich leider erst jetzt melden. Bin leider nicht so fit in VBA um Dir dort zu helfen. Sorry.
Trotzdem hoffe ich, dass Du im Forum Hilfe findest. Ich bin Hobby Excel Freak seit der ersten Excelversion, aber nur als Hobby.
Gruß
dieter(drummer)
AW: VBA Suchen/Ersetzen inkl. Anzahl der Ersetzungen
15.05.2009 13:36:34
Randolf
Hallo,
leider ist die Frage aus meiner sicht immer noch offen. Wer kann helfen?
Gruß
Randolf

348 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige