Anzeige
Archiv - Navigation
1392to1396
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

Mit Makro Datei öffnen und ein Makro ausführen

Mit Makro Datei öffnen und ein Makro ausführen
18.11.2014 21:35:45
Golem
Hallo Excel-Fachleute,
ich habe vom Marc Wershoven ein Makro, mit dem Änderungen in mehreren Dateien automatisch
vorgenommen werden können.
Option Explicit
' ************************************************************************************************
' Autor und Copyright: Marc Wershoven - IT / EDV Dienstleistungen und Beratung
' Homepage: http://www.wershovenonline.de - E-Mail: info@wershovenonline.de
' ------------------------------------------------------------------------------------------------
' Wichtige Hinweise:
' - Verwendung der Quelltexte auf eigene Gefahr!
' - Bitte beachten Sie die Nutzungsbedingungen von www.online-vba.de!
' - Dieser Hinweis inkl. Autorennennung darf nicht entfernt werden!
' - Jede Weiterübermittlung, Veröffentlichung oder Verbreitung ist untersagt!
' - Eine kommerzielle/gewerbliche Verwendung ist nicht gestattet!
' ************************************************************************************************
' Diese Hinweise beziehen sich auf den Quelltext, wie dieser unter dem folgenden Link, unverändert
' als Original zu sehen ist und gelten nicht für Veränderungen durch Nutzer bzw. Dritte:
' www.online-vba.de/vba_multidateiupdate.php
' ************************************************************************************************
' ACHTUNG: ALLE DATEIEN IN DEM ANGEGEBENEN PFAD WERDEN UNWIEDERRUFLICH GEÄNDERT!
' DENKEN SIE IMMER AN EINE AUSREICHENDE DATENSICHERUNG!!!
Sub MWMultiDateiUpdate()
Dim oSourceBook As Object
Dim sPfad As String
Dim sDatei As String
Application.ScreenUpdating = False 'Das "Flackern" ausstellen
'Schritt 1: Schleife über alle Excel Dateien in einem Verzeichnis
sPfad = "C:\Dokumente und Einstellungen\Werner\Desktop\Zahlungen ET_2013\Umsatz  ET\"
sDatei = Dir(CStr(sPfad & "*.xl*")) 'Alle Excel Dateien
Do While sDatei  ""
'Schritt 2: öffnen der Datei und Datenübertragung
Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, False) 'nur lesend öffnen
'Änderungen durchführen, als Beispiel Zelle A1 mit "Hallo" befüllen
oSourceBook.Sheets(1).Cells(1, 1).Value = "Hallo"
'Schritt 3: Datei speichern und wieder zu machen und nächste Schleifenrunde
Application.DisplayAlerts = False
oSourceBook.Close True 'speichern
Application.DisplayAlerts = True
'Nächste Datei
sDatei = Dir()
Loop
Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
'Variablen aufräumen
Set oSourceBook = Nothing
End Sub
Damit öffne ich automatisch aus einem geschlossenen Verzeichnis nacheinander 48 Dateien,
um in die Zelle A1 das Wort "Hallo" einzutragen.
Funktioniert auch einwandfrei.
Jetzt möchte ich aber nach jedem Öffnen der einzelnen Dateien ein bestimmtes Makro ausführen ( also nicht das
Eintragen von "Hallo" in Zelle A1 ).
Diese Zeile
oSourceBook.Sheets(1).Cells(1, 1).Value = "Hallo"
habe ich durch folgende Zeile ersetzt.
Application.Run ("Whn 1.xlsm!Test")
Das Makro zeigt nach dem Start den Laufzeitfehler 1004 an.
Auch nach dem Setzen von Hochkommatas
Application.Run ("'Whn 1.xlsm'!Test")
wird der Laufzeitfehler angezeigt.
Das Makro ist in der Tabelle1(Whn 1) vorhanden.
Wie kann das Makro "Test" ausgeführt werden?
Für evtl. Tipps oder Anregungen schon mal besten Dank!
Werner

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

Betreff
Datum
Anwender
Anzeige
AW: Mit Makro Datei öffnen und ein Makro ausführen
19.11.2014 13:28:00
Rudi
Hallo,
in welcher Mappe steht denn MWMultiDateiUpdate?
Wenn das aufzurufende Makro nicht in einem Standardmodul steht, musst du den Codenamen der Tabelle angeben
Application.Run ("'Whn 1.xlsm'!Tabelle1.Test")
Gruß
Rudi

AW: Mit Makro Datei öffnen und ein Makro ausführen
19.11.2014 15:26:40
Golem
Hallo Rudi,
so wie Du es angegeben hast, funktioniert der Aufruf einwandfrei.
Ich habe das Makro nicht im Standardmodul eingebaut.
Ich hatte keine weitere Lösung mehr erkannt.
Einen schönen Dank für Deine Hilfe und noch einen schönen Tag.
Werner
Anzeige

298 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige