Ich bin sehr neu in VBA und habe versucht, ein Makro zu schreiben, das meine Arbeitsmappe aktualisiert, speichert und schließt, wenn ich sie öffne. Es schließt die Arbeitsmappe nicht, sondern speichert die ganze Zeit in einer neueren Version.VBA wird keine Arbeitsmappe schließen und speichert weiter
Sub Main()
Dim sngStartTime, sngTotaltime As Date
Dim LstUpdateRow As Integer
sngStartTime=Now
LstUpdateRow = Workbooks("Quick").Worksheets("settings").Range("c60000").End(xlUp).Row + 1
sngTotaltime = Now - sngStartTime
Workbooks("Quick").Worksheets("Settings").Cells(LstUpdateRow, 3) = Now
Workbooks("Quick").Worksheets("Settings").Cells(LstUpdateRow, 4) = sngStartTime
Workbooks("Quick").Worksheets("Settings").Cells(LstUpdateRow, 5) = sngTotaltime
End Sub
Sub RefreshData()
Application.Run "RefreshEntireWorkbook"
Application.Run "RefreshAllStaticData"
Application.OnTime Now() + TimeValue("00:00:05"), "Main"
End Sub
Thisworkbook:
Private Sub Workbook_Open()
Main
RefreshData
Workbooks("Quick").Close Savechanges:=true
End Sub
Wohin führen Sie Ihren Code aus? –
Im Ausführen meines Codes von "Thisworkbook" Blatt kann dann die Subs von meinem Modul aufrufen. Ich möchte nur, dass es aktualisiert, gespeichert und geschlossen wird, wenn ich meine Excel-Datei öffne. –
Wenn Sie Ihren Code Schritt für Schritt debuggen, gibt es einen Looping irgendwo in der Welt oder endet der Sub? –