Avatar billede brilleabe Nybegynder
15. september 2004 - 22:28 Der 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
Avatar billede bak Forsker
15. september 2004 - 22:55 #1
jeg går ud fra at hver af de makroer der kaldes afsluttes med Call ScheduleNext ?
Avatar billede brilleabe Nybegynder
15. september 2004 - 23:00 #2
Hej bak,
lige præcis. (det har du jo lært mig.)
Avatar billede bak Forsker
15. september 2004 - 23:02 #3
vis lige makroen den åbner de regneark ..
Avatar billede brilleabe Nybegynder
15. september 2004 - 23:09 #4
..er på vej
Avatar billede brilleabe Nybegynder
15. september 2004 - 23:13 #5
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
Avatar billede brilleabe Nybegynder
15. september 2004 - 23:15 #6
jeg bruger run_log til at bestemme hvilken en af 2 makroer i den ene workbook som skal køres når den åbnes.
Avatar billede brilleabe Nybegynder
15. september 2004 - 23:18 #7
Og her er så hvad der sker når der åbnes en af de andre workbooks

Private Sub Workbook_Open()
Application.Wait (Now + TimeValue("0:00:10"))
Call Run.RunAll
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Avatar billede bak Forsker
15. september 2004 - 23:20 #8
Ok, jeg bliver nødt til at gå på buffen nu, men prøv lige at flytte ScheduleNext op før Workbooks.Open
Avatar billede brilleabe Nybegynder
15. september 2004 - 23:21 #9
super, tester og vender tilbage i morgen.
Avatar billede brilleabe Nybegynder
17. september 2004 - 12:46 #10
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.
Avatar billede brilleabe Nybegynder
10. oktober 2004 - 10:17 #11
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!

Tak for hjælpen bak.
Avatar billede brilleabe Nybegynder
30. januar 2005 - 10:26 #12
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester