Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Makro für alle Dateien im Ornder ausführ

Betrifft: Makro für alle Dateien im Ornder ausführ von: Lisa-Fiona
Geschrieben am: 19.07.2020 20:47:46


Hallo zusammen,

ich bin leider wieder an meine Grenzen gekommen und kann mein Vorhaben nicht realsieren.

Ich hatte folgendes vor:

Ich habe diverse Makros für verschiedenste Sachverhalte. Die Dateien bei denen ich die Makros anwenden möchte sind in Ordnern

Nun benötige ich ein Makro das:
1) ein Makro in dieser Excel-Datei auswählt,
2) einen "Input-Ordner" auswählt und für alle Dateien in diesem Ordner das ausgeählte Makro nach und nach durchführt (wenn Error dann nächste Datei)
3) einen "Output- Ordner" auswählt und dort die Dateien nach ausführen des Makros speichert
4) beim Abspeichern eine Endung an den ursprunglichen Dateinamen hinzufügt

Ich hatte dazu die Userform in folgender Datei gebastelt (kann sein das die Tools nicht geeignet sind, sry dafür): https://www.herber.de/bbs/user/139169.xlsm

Im Prinzip möchte ich Makro und Ornder manuell auswählen.
Also wenn ich auf den Button "Makro Auswählen" drücke möchte ich ein Makro aus allen vorhanden Makros in dieser Datei auswählen
Das gleiche gilt für die Ordner. Also beim Klick auf den Button soll sich ein Fenster öffnen bei dem ich die In- und Output Ordner manuell auswähle. Und die Endung würde ich am liebsten auch manuell neben dem Button schreiben.

Was dann noch das i-Tüfelchen wäre, wenn ich sehen könnte wie weit die Bearbeitung ist.
Ich hatte mir das so vorgestellt, dass das Makro nach Auswählen des Input-Ordners mir alle Dateien mit dem Namen in der Spalte "Datei" aufzählt. Wenn es dann fertig mit der Bearbeitung ist soll dann entsprechend nach und nach "fertig" oder bei einem Error "error" in der Spalte "Status" stehen.

Ist das Vorhaben so realsierbar bzw. kann mir hierbei jemand helfen?
Ich freue mich über jegliche Art von Hilfe!

Vielen Dank und Grüße
Lisa-Fiona

Betrifft: AW: Makro für alle Dateien im Ornder ausführ
von: fcs
Geschrieben am: 20.07.2020 18:16:45

Hallo Lisa-Fiona,

das meiste auf deiner Wunschliste kann man umsetzen.
Die automatisierte Auswahl der Makros mit nachfolgendem Start kann man nur Umsetzen, wenn man den Zugriff aufs VBA-ProjektObjektmodell unter den Optionen für das Sicherheits-Center zulässt.
Dies stellt aber ein signifikantes Sicherheitsrisiko dar.

Deshalb solltest du hier etwas Handarbeit investieren und
a) in einem separaten Blatt eine Liste der Makronamen führen
b) bei Bedarf im Code für die Schaltfläche "Starten" Ergänzungen/Anpassungen machen, wenn sich die Liste der Makros ändert.

Die Auswahl der Makros kann man dann in einer Combobox machen.
Für die Eingabe der Ergänzung am Dateinamen brauchst du keine Schaltfläche. Einfach Text in die Textbox eintragen.

Damit der Abbruch bei Fehler funktioniert und erfasst werden kann muss in den einzelnen Makros eine kleine Fehlerbehandlung eingebaut werden.
Die On Error-Zeile am Anfang und die Sprungadresse mit Speicherung der Fehler-Information am Ende jedes Makros.
Sub TestMacro1()
'
' TestMacro1 Macro
'
    Dim wks As Worksheet
On Error GoTo Fehler
'
    Set wks = ActiveWorkbook.Worksheets("Alt") 'Testzeile


Fehler:
    lngError = Err.Number
    strError = Err.Description
    Err.Clear
End Sub


Die beiden Variablen, die die Fehler-Information speichern sind als Public deklariert.
Im Code des Start-Buttons wird der Wert von lngError ausgewertet und bei Fehler wird die geöffnete Datei nicht im Output-Ordner gespeichert, sondern ohne speichern wieder geschlossen. Wenn das Makro Fehlerfrei durchgelaufen ist, dann wird die Datei im Output gespeichert, falls angegeben mit der Ergänzung im Dateinamen.

Ich habe das Userform angepasst und die erforderlichen Makros eingebaut.
https://www.herber.de/bbs/user/139182.xlsm

Schau mal, ob damit zurecht kommst.

LG
Franz

Betrifft: AW: Makro für alle Dateien im Ornder ausführ
von: Lisa-Fiona F.
Geschrieben am: 21.07.2020 12:45:28

Lieber Franz,

beim ersten Durchgang hat alles funktioniert wie vorgestellt.
Viele vielen Dank für deine Hilfe, du hast mir wirklich sehr geholfen!
Ich versuche bestimmt schon seit Wochen es zum laufen zu bringen...

Nochmals vielen Dank!
Viele Grüße
Lisa-Fiona

Beiträge aus dem Excel-Forum zum Thema "Makro für alle Dateien im Ornder ausführ"