Print side | Luk vindue

Hvordan kører man en makro 2400 gange

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1084
Udskrevet den: 10.Maj.2024 kl. 08:03


Emne: Hvordan kører man en makro 2400 gange
Besked fra: uffesch
Emne: Hvordan kører man en makro 2400 gange
Posteringsdato: 07.Feb.2013 kl. 20:23
Hej
 
Jeg skal køre en makro (makro 1 i fil 1) 2400 gange og vil høre hvordan det gøres mest optimalt.
 
Jeg gør det lige nu på den måde at jeg har en ekstra fil (fil 2) med en makro (makro 2) der åbner fil 1 og kører makro 1 20 gange, hvorefter fil 1 lukkes. I fil 2 ligger der yderligere en makro (makro 3) som kører makro 2 124 gange. På den måde bliver makro 1 afviklet (124 x 20) 2480 gange.
 
Problemet er at det tager lang tid. Det første kvarter (ca) bliver makro 1 kørt 12 gange i minuttet men efter en time er hastigheden nede på ca. 3 afviklinger af makro 1 i minuttet og det bliver kun værre derfra Cry
 
Findes der en løsning med et loop eller lign. som kan indsættes i makro 1?
 
Med venlig hilsen
 
uffesch



Svar:
Besked fra: EXCELGAARD
Posteringsdato: 07.Feb.2013 kl. 20:27
Jeg har godt nok lidt svært ved at genemskue, hvorfor din makro køres på den underlige måde gennem flere filer???

Kan du ikke bare sætte din makro kode inden for en tæller?

Noget i retning af:

For Counter = 1 to 2400
    ...Din makrokode her
Next




-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: uffesch
Posteringsdato: 07.Feb.2013 kl. 20:46
Hej Excelgaard
Tak for dit svar, men jeg har lige brug for lidt ekstra hjælp  Smile
 
Årsagen til min "høker-løsning" er at jeg ikke er den store haj til makroer og ikke kender til den counter funktion du foreslår. Jeg ville egentlig have makro 2 til at køre makro 1 2400 gange, men der er stødte jeg på en begrænsning med at makroen kun kunne afvikles 192 gange (vist nok).
 
Jeg har lige eksperimenteret lidt med dit forslag men kan ikke få den til at køre - sikkert fordi jeg indsætter kommandoerne forkert.
 
Hvordan skal de indsættes i følgende "eksperiment-makro" for at få den til at køre fx. 10 gange??
 
På forhånd tak.
 
Mvh uffesch
 
 
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 07-02-2013 by Uffe
'
'
    Selection.Copy
    Range("B1").Select
    Selection.Insert Shift:=xlDown
    Range("A1").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
End Sub
 
 


Besked fra: EXCELGAARD
Posteringsdato: 07.Feb.2013 kl. 20:49
Sub Macro1()

For Counter = 1 To 10
    Selection.Copy
    Range("B1").Select
    Selection.Insert Shift:=xlDown
    Range("A1").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
Next

End Sub


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: uffesch
Posteringsdato: 07.Feb.2013 kl. 20:58
Det hjalp Smile
 
Nu er jeg spændt på hvor hurtigt min makro køres igennem når det gælder 2400 gange.
 
MANGE TAK FOR HJÆLPEN
 
Mvh uffesch


Besked fra: uffesch
Posteringsdato: 08.Feb.2013 kl. 11:02
Hej igen Excelgaard
 
Jeg satte makroen igang i aftes men uden det store held.
 
Jeg satte for sjov skyld tidspunkt på for hver gang makro 1 blev afviklet. Første minut blev makroen afviklet 17 gange men allerede her falder hastigheden markant. Efter 100 minutter afviklet makro 1 mindre end 1 gang i minuttet og efter 7 timer (hvor Excel pludselig melder fejl) er makro 1 kun afviklet 175 gange (min høker-metode er markant bedre) Wink
 
Min høker-metode lukker fil 1 med makro 1 ned og åbner igen for hver 20. afvikling, hvilket er med til at forhindre at det går helt i stå.
 
Makroen henter tal-data på nettet, konverterer fra US tegnsætning til DK tegn, sorterer, beregner (omfattende beregninger) og kopierer celler til en anden fil.
 
Hvad er det der sløver makro-afviklingen? Er der en hukommelse eller cache der bliver fyldt op eller??
 
Håber du kan hjælpe
 
Mvh uffesch
Min


Besked fra: EXCELGAARD
Posteringsdato: 08.Feb.2013 kl. 11:09
Jeg kan overhovedet ikke gennemskue, hvad det er for noget rod, du har rodet dig ud i....

Makroen skal ikke begynde at køre langsommere blot fordi, den bliver kørt igen, og, hvad er det for noget underligt noget med at åbne og lukke, og kører makroer fra andre filer?!?

Det virker helt ude i skoven på mig - du må gøre et eller andet fuldstændigt galt!

Og, jeg ønsker ikke at sitte og gætte mig frem - du bli'r nødt til at uploade dit regneark til forummet, så vi kan se, hvad det er du laver...


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: uffesch
Posteringsdato: 08.Feb.2013 kl. 11:39
uploads/291/Output.xls" rel="nofollow - uploads/291/Output.xls uploads/291/Symbols.xls" rel="nofollow - uploads/291/Symbols.xls
 
 


Besked fra: EXCELGAARD
Posteringsdato: 08.Feb.2013 kl. 11:47
Ingen af de to regneark indeholder makroer eller nogen form for brugbare data, der gør, at man kan se, hvad du forsøger at opnå?!?!   (Mest !!!!)

Og, som sagt, så gider jeg ikke sitte og gætte!

Upload dine rigtige regnark, og giv en beskrivelse af, hvad det er du gerne vil opnå - beskrivelse med udgangspunkt i dine makroer og regneark!

Se evt. punkt 2 og 3 på denne liste:
www.excelgaard.dk/Side.Kontakt.HTML www.excelgaard.dk/Side.Kontakt.HTML
(Og. osse gerne alle 8 punkter på listen)



-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: uffesch
Posteringsdato: 08.Feb.2013 kl. 11:47
uploads/291/Beregn.xls" rel="nofollow - uploads/291/Beregn.xls uploads/291/Kør_macro.xls" rel="nofollow - uploads/291/Kør_macro.xls uploads/291/Manager.xls" rel="nofollow - uploads/291/Manager.xls uploads/291/Output.xls" rel="nofollow - uploads/291/Output.xls uploads/291/Symbols.xls" rel="nofollow - uploads/291/Symbols.xls
 
Her er 5 filer der ligger i C:/CupWH
 
"Symboler" er den den fil der indeholder hvad der skal hente data på
"Kør makro" henter data
"Beregn" er fil 1 med makro 1 (hovedmakroen). Her bliver data kopieret ind fra "kør makro"
"output" filen opsamler resultater fra "Beregn"
"Manager" filen aktiverer maskineriet.
 
Måske giver det en smule mening...  Smile
 



Print side | Luk vindue