Hallo nochmal
ein Tipp vorab:
gehi im VB Editor auf "Extras", "Optionen", "Editor" und setze den Haken bei "Variablendeklaration erforderlich"
Dann wird dir bei jedem neuen Modul in der obersten Zeile "Option Explicit" eingefügt.
Wenn du das in deinem Fall oden drin stehen hättest, dann wäre dir aufgefallen, das du die Variable "Pfad" nicht deklariert hast ( Hier sollte wohl "datPfad" stehen.
Ausserdem fehlt nach dem "After:" noch ein Gleichheitszeichen.
So?
Option Explicit
Public NextInst As Date
Public Sub StartAutocopy()
Autocopy
End Sub
Public Sub Autocopy()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim fso As Object, wkb As Workbook
Dim Datei As Object, datPfad As String
'Pfad
datPfad = "C:::::::::"
Set fso = CreateObject("Scripting.filesystemobject")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each Datei In fso.getfolder(datPfad).Files
'Datei öffnen
Set wkb = Workbooks.Open(datPfad & Datei, local:=True)
'Kopieren
wkb.Worksheets(1).Copy After:=ThisWorkbook.Worksheets(3)
Application.DisplayAlerts = False
wkb.Close
Application.DisplayAlerts = True
Next Datei
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
'Soll alle 24 Stunden wiederholen
NextInst = Now + TimeValue("24:00:00")
Application.OnTime NextInst, "Autocopy"
End Sub
Public Sub StopAutocopy()
On Error Resume Next
Application.OnTime NextInst, "Autocopy", , False
End Sub
LG UweD
|