Ik heb een VBA gemaakt en daar een runtime in gezet om het/de workbook te sluiten wanneer er een bepaalde tijd geen actie in is.
Echter zodra ik in een andere workbook (excelbestand) aan het werk ben (de ActiveWorkbook) krijg ik een fout melding.
Ik vermoed dat dat komt omdat ik in Thisworkbook een "Private Sub Workbook_Close()" heb staan, waar een bepaalde opslagactie plaats vind. Voor het geval men op het rode kruisje drukt, er wordt dan nl gelijk een back up gemaakt. Dat deel script heb ik hier nu niet bijdehand, maar dat is denk ik niet van belang.
-Ik vermoed dat doordat ik niet in het workbook aan het werk ben met de VBA er in dat de macro de actie niet kan uitvoeren omdat er een aantal bewerkingen (zoals data in cellen plaatsen (naam gebruiker) etc.) in de "Private Sub Workbook_Close()" staan
De vraag is hoe krijg ik het bewuste bestand met een runtime actie toch gesloten, wanneer het niet de actieve is?
In Thisworkbook:
In module:
Nu denk ik aan een VBA code die ondanks dat ik een andere workbook als actief heb de workbook die gesloten moet worden (even) de actieve wordt.
Kan dat zo ja, hoe?
Andere oplossing? Iets fouts in de code?
Dank al vast voor meedenken/oplossen
Echter zodra ik in een andere workbook (excelbestand) aan het werk ben (de ActiveWorkbook) krijg ik een fout melding.
Ik vermoed dat dat komt omdat ik in Thisworkbook een "Private Sub Workbook_Close()" heb staan, waar een bepaalde opslagactie plaats vind. Voor het geval men op het rode kruisje drukt, er wordt dan nl gelijk een back up gemaakt. Dat deel script heb ik hier nu niet bijdehand, maar dat is denk ik niet van belang.
-Ik vermoed dat doordat ik niet in het workbook aan het werk ben met de VBA er in dat de macro de actie niet kan uitvoeren omdat er een aantal bewerkingen (zoals data in cellen plaatsen (naam gebruiker) etc.) in de "Private Sub Workbook_Close()" staan
De vraag is hoe krijg ik het bewuste bestand met een runtime actie toch gesloten, wanneer het niet de actieve is?
In Thisworkbook:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnTime EndTime, "CloseWB", , False
RunTime
End Sub
In module:
Code:
Public EndTime
------------------------------------------
Sub RunTime()
EndTime = Now + TimeValue("00:15:00")
Application.OnTime EndTime, "CloseWB", , True
End Sub
----------------------------------------------------
Sub CloseWB()
With ThisWorkbook
.Save
.Close
End With
End Sub
Nu denk ik aan een VBA code die ondanks dat ik een andere workbook als actief heb de workbook die gesloten moet worden (even) de actieve wordt.
Kan dat zo ja, hoe?
Andere oplossing? Iets fouts in de code?
Dank al vast voor meedenken/oplossen
Laatst bewerkt: