Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien öffnen makro ausführen u. schließen

Dateien öffnen makro ausführen u. schließen
11.06.2008 15:22:00
Roman
Hallo Profis,
habe ein Problem: Möchte aus einem Ordner z.B. auf D:\eigene dateien\Aenderungsantraege alle Exceldateien einzeln nacheinander öffnen. Dann soll mein Makro "Preiskorrektur" ausgeführt werden. Dann sollen die Dateien wieder im selben Ordner gespeichert und geschlossen werden. Nicht verwechseln, dass ich alle Dateien gleichzeitig öffnen möchte sondern eine Datei wird geöffnet, Makro ausführen, Datei speichern, Datei schließen, nächste Datei öffnen... Dabei will ich aber im Makro nicht jede Exceldatei mit dem Namen ansprechen, da diese bis zu 62 Zeichen lang sind. Hintergrund ist, dass ich über 300 Dateien ändern muss (wenn ich die gleichzeitig öffne Kackt mir der rechner ab. Makro befindet sich in einer Datei in XLStarts die immer im Hintergrund geöffnet wird. Wenn ich es einzeln mache dann werd ich vielleicht bis Weihnachten fertig :). Also hat jemand von euch eine Idee für ein Makro?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Im Archiv unter Filesaerch schauen
11.06.2008 15:52:29
Chris
... da gibt es genügend Beiträge zu dem Thema. Wenn du die Basis hast, kann dir für weitere Problemchen geholfen werden, aber man muss das Rad ja nicht von vorne erfinden.
Gruß
Chris

AW: Dateien öffnen makro ausführen u. schließen
11.06.2008 16:14:00
Tino
Hallo,
hier mal ein Code zum öffnen und speichern.
'Benötig den Verweis auf Microsoft Scripting Runtime
Pfad ist in diesem Beispiel ist wo sich die Datei befindet.
Könnte aber je nach Größe der Dateien etwas dauern!
Viel Spaß beim Testen.

Option Explicit
'Benötig den Verweis auf > Microsoft Scripting Runtime
Dim FehlerDatei As String
Sub Start()
Application.ScreenUpdating = False
ListFilesInFolder ThisWorkbook.Path, False, ".xls" 'True = mit Unterordner
Application.ScreenUpdating = True
If FehlerDatei > "" Then
MsgBox FehlerDatei, vbCritical, "Fehler aufgetreten!"
Else
MsgBox "Alle Dateien wurden geöffnet und gespeichert!", vbInformation
End If
End Sub
Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean, Optional  _
DateiFormat As String)
Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim r As Long
Set FSO = New Scripting.FileSystemObject
Set SourceFolder = FSO.GetFolder(SourceFolderName)
For Each FileItem In SourceFolder.Files
If (InStr(FileItem.Name, DateiFormat) > 0) And (InStr(FileItem.Name, ThisWorkbook.Name)  _
= 0) Then
StartBeendeFile (FileItem.Path)
End If
Next FileItem
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
End Sub
Sub StartBeendeFile(strFileName As String)
Dim strDateiName As String
Application.DisplayAlerts = False
strDateiName = Right$(strFileName, Len(strFileName) - InStrRev(strFileName, "\"))
Workbooks.Open (strFileName)
On Error GoTo Fehler:
ActiveWorkbook.Save
Workbooks(strDateiName).Close
Application.DisplayAlerts = True
Exit Sub
Fehler:
On Error Resume Next
Workbooks(strDateiName).Close
Application.DisplayAlerts = True
FehlerDatei = FehlerDatei & Chr(13) & _
Right$(strFileName, Len(strFileName) - InStrRev(strFileName, "\"))
On Error GoTo 0
End Sub


Gruß Tino
www.tinomargit.com

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige