Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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: Suche in gesamter Arbeitsmappe

VBA: Suche in gesamter Arbeitsmappe
Christian
Moin,
ich schreibe ein VBA und möchte dass dieses alle .xls in einem Ordner öffnet,
diese nach einem begriff durchsucht, diesen begriff ersetzt und anschließend speichert.
Von der "alten" Datei soll ein backup in einem anderen Ordner gespeichert werden.
Anbei mein Quelltext, so wie er jetzt ist sucht er allerdings nur im 1. Sheet der dateien, soll aber in der gesamten arbeitsmappe suchen, habe schon einiges probiert, komme aber nicht drauf.

Public Function Replaceit(alt As String, neu As String)
Dim zähler As Long, Pfad As String
Pfad = "..."
If Pfad = "" Then: Exit Function
With Application.FileSearch
.NewSearch
.FileType = msoFileTypeExcelWorkbooks
.LookIn = Pfad
.SearchSubFolders = True
If .Execute 0 Then
For zähler = 1 To .FoundFiles.Count
' Backup
Workbooks.Open Filename:=.FoundFiles.Item(zähler)
ActiveWorkbook.Sheets(1).Activate
ActiveWorkbook.Sheets(1).Cells(1, 1).Select
' ActiveWorkbook.Sheets(1).Cells.Find(What:=alt, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
If Not ActiveWorkbook.Sheets(1).Cells.Find(What:=alt, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) Is Nothing Then
ActiveWorkbook.SaveAs Filename:=Pfad & "neu\" & Split(ActiveWorkbook.Name, ".xls")(0) & _
" " & Format(Now, "YYYYMMDD") & ".xls"
ActiveWorkbook.Close
End If
' Neue Datei
Workbooks.Open Filename:=.FoundFiles.Item(zähler)
ActiveWorkbook.Sheets(Array(1).Cells.Replace What:=alt, Replacement:=neu, LookAt:= _
xlPart, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' Speichern der geänderten Datei
ActiveWorkbook.Save: ActiveWorkbook.Close
Next zähler
End If
End With

Vielen Dank für die Hilfe!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
If Not ActiveWorkbook.Cells.Find(...
19.08.2010 10:42:10
Rudi
Hallo,
du ersetzt ja auch nur in Sheets(1). Lass es weg.
Gruß
Rudi
AW: If Not ActiveWorkbook.Cells.Find(...
19.08.2010 12:08:06
Christian
Hallo Rudi,
danke für die Antwort.
Das mit Sheets(1) war mir schon bewusst, Activeworkbook.Cells funktioniert nämlich nicht.
Alternative Idee?
Danke und Grüße
Christian
AW: If Not ActiveWorkbook.Cells.Find(...
19.08.2010 17:32:55
t4z
Mich interessiert das Thema auch.
Ich habe leider keine Idee, aber ich glaube, dass die Frage noch nicht gelöst ist. Deshalb solltest Du selbst darauf achten, wenn Du antwortest, das Häkchen bei "Frage noch offen" zu setzen. Andernfalls wandert Deine ungelöste Frage schneller automatisch ins Archiv und kann dann m.W. nicht so leicht weitergeführt werden. Auf jeden Fall können Helfende deine Frage nach nicht mehr finden indem sie auf "offene Fragen" klicken.
Anzeige
AW: If Not ActiveWorkbook.Cells.Find(...
20.08.2010 11:47:25
Klaus
Moin Zusammen,
da die Frage hier:
https://www.herber.de/forum/messages/1173317.html
nochmal gestellt (und beantwortet) wurde, mach ich diesen Tread mal ZU!
Grüße,
Klaus M.vdT.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige