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

Makro ausführen bei Excel-Dateien ohne zu öffnen ?

Makro ausführen bei Excel-Dateien ohne zu öffnen ?
10.06.2008 14:11:00
christian
Hallo,
ich habe im Verzeichnis eine bestimmte Anzahl Dateien die immer nach dem gleichen Prinzip aufgebaut sind.
Jede Datei ist mit einem enthält einen Button der das zughörige Makro ausführt. Siehe Bild:
Userbild
Dieser Button ist für die individuelle Auswertung gedacht.
Jetzt habe ich aber ein Programm das chronologisch "in die einzelnen Dateien schaut" und mir dann das gewünschte Ergebnis bringen soll. Dies funktioniert jedoch nur, wenn das Makro der jeweiligen Datei bereits ausgeführt wurde.
Bei über 100 Dateien bietet es sich nicht gerade an jede vorab zu öffnen, das Makro auszuführen und dann zu speichern.
Lässt sich das ganze derart vereinfachen, das man sagt:
Schau in das verzeichnis, wähle jede .xls-Datei führe dort das Makro aus und speichere diese Konfiguration?
christian

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

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen bei Excel-Dateien ohne zu öffnen ?
10.06.2008 14:55:33
UweD
Hallo
Bedingung wäre, daß das Makro in allen Dateien des Verzeichnisses vorhanden ist, und auch gleich benannt ist....
dann wäre das so möglich.

Sub alle_Dateien_Verzeichnis() '
Dim dlg As FileDialog
Dim Si, Ext$, Datei$, Makroname$
On Error GoTo Fehler
Makroname = "MeinMakro" ' muß aber dann in allen Dateien vorhanden sein
Set dlg = Application.FileDialog(msoFileDialogFolderPicker) 'Verzeichnis wählen
If dlg.Show = True Then
For Each Si In dlg.SelectedItems 'Die Abfrage für den selektierten Eintrag
Ext = "*.xls"       'Dateiextension ggf. anpassen
Datei = Dir(Si & "\" & Ext)
Do
Workbooks.Open Filename:=Si & "\" & Datei
'mach was damit
Application.Run Datei & "!" & Makroname
Workbooks(Datei).Close SaveChanges:=True
Datei = Dir() ' nächste Datei
Loop While Len(Datei) > 0
Next
End If
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub


Gruß UweD

Anzeige
Es läuft problemlos, Danke !
10.06.2008 15:45:48
christian
Das das Makro in jeder Datei vorhanden ist und alle gleich benannt sind konnte ich gewährleisten.
Nochmals danke für die schnelle Hilfe
christian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige