15. september 2004 - 22:28Der er
11 kommentarer og 1 løsning
automatik til start af 2 ark på bestemte tidspunkter
Jeg har fået nedenstående makro af bak, og det virker super. Makroen køre andre makroer (som er listet i et seperart ark) på bestemte tidspunkter - dag efter dag. Mit problem er at jeg vil gerne bruge den til at åbne 2 andre workbooks gang efter gang. De to workbooks er sat til at afvikle når de åbner og til at lukke 'sig selv' når de er kørt (med ActiveWorkbook.Close). Mit problem er at nedenstående makro (som findes i en workbook som altid køre) kun starter de andre workbooks een gang, dvs. alt ser ud til at virke, men 'scheduleNext' ser ikke ud til at blive 'udført'.
Private Sub Workbook_Open() Dim x, y As Long ' find NU-tidspunkt x = Now() - Date 'gå skemaet igennem og find den næste/første tid, der skal køres en makro With ThisWorkbook.Sheets("MakroTimer") For y = 1 To .Range("A1").End(xlDown).Row If x <= .Range("B" & y) Then Række = y 'sæt 1. tid og makro ScheduleNext Exit Sub End If Next End With End Sub
Sub ScheduleNext() Dim rk As Long, Makro As String, Tid With ThisWorkbook.Sheets("MakroTimer") rk = .Range("A1").End(xlDown).Row Makro = .Range("A" & Række).Value Tid = .Range("B" & Række).Text Application.OnTime Tid, Makro If rk = Række Then Række = 1 Else Række = Række + 1 End With End Sub
Public Række As Long 'husk at få denne linie med Public run_log As Boolean
Sub Kerberos() Workbooks.Open Filename:= _ "\\s14qu\Kerberos II.xls"
ScheduleNext End Sub Sub Oversigt() run_log = False Workbooks.Open Filename:= _ "\\s14qu\Automatik v1.3.xls"
ScheduleNext End Sub
Sub ScheduleNext() Dim rk As Long, Makro As String, Tid With ThisWorkbook.Sheets("MakroTimer") rk = .Range("A1").End(xlDown).Row Makro = .Range("A" & Række).Value Tid = .Range("B" & Række).Text Application.OnTime Tid, Makro If rk = Række Then Række = 1 Else Række = Række + 1 End With End Sub
ak og jammer, det virker desværre ikke. ScheduleNext fejler ved: Makro = .Range("A" & Række).Value
Jeg har prøvet at sætte en lille makro ind efter Workbooks.Open for at se om den blev kørt - det lader til at den 'glemmer' alt som kommer efter Workbooks.Open, for der sker ikke en pind.
Jeg har desværre ikke kunne løse problemet, så jeg er endt med en helt anden tilgang. Jeg bruger window's egen scheduler. Det er lidt mere uoverskueligt for brugerene, men på den anden side så virker det.
Det er ærgeligt for det var sgu' et sprødt skykke kode som bak havde lavet!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.