Hoe maak ik een loop? Help hierbij de NOOB!

Status
Niet open voor verdere reacties.

H4rml355

Gebruiker
Lid geworden
19 jun 2009
Berichten
22
Beste VBA specialisten,

Ik kan in een programma macro's opnemen. Het komt vaak voor dat ik in dit programma veel dezelfde handelingen moet doen. Kan iemand mij helpen hoe ik de marco kan laten herhalen. Nu moet ik soms 100 keer klikken om steeds opnieuw die macro uit te voeren.

Ik wil bijvoorbeeld in kunnen stellen dit maal deze macro 100 keer uitvoeren en een andere keer 55 keer.

Al vast bedankt voor de medewerking.
Bekijk bijlage haha1.txt
 
Je moet dus ergens vandaan halen hoe vaak die macro moet worden herhaald.
Daar moet je wat voor zien te verzinnen.
Je macro ziet er dan als volgt uit:

Code:
Sub Macro1()
    Dim i As Integer
    For i = 1 To 100
        'Jouw Macro Code
        Application.StatusBar = "Herhaald: " & i
    Next
End Sub
 
Laatst bewerkt:
Een alternatief:
Code:
Sub Macro1()
    Dim x As Integer
    Dim y As Integer 
    y = inputbox("Hoeveel keer??")
    For x = 1 To y
        'Jouw Macro Code :)
        Application.StatusBar = "Herhaald: " & i & ". Van de " &  y & " keer."
    Next
End Sub
 
Lukt me niet?

Ik plak jullie macro erin en hij geeft vervolgens een foutmelding. Kan één van jullie misschien voor mij onderstaand bestand met jullie macro aanpassen? En het bestand opnieuw posten. Dan zie ik hoe de structuur in elkaar zit en kan ik het voortaan zelf.

Alsvast erg bedankt.

Bekijk bijlage testloop.txt
 
Het zou erg handig zijn als mensen die zeggen een foutmelding te krijgen ook eens een keer erbij vertellen wat die melding dan is.
 
Dan moeten we wel weten wat de foutmelding is. :rolleyes:

Wat is de foutmelding? Maak desnoods een screenshot.
 
Hierbij...

:confused:Fout regel 6. einde van de instructie wordt verwacht.
Dim x As Integer:confused:


Script:

[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
Sub Macro1()
Dim x As Integer
Dim y As Integer
y = inputbox("5")
For x = 1 To y
'OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)

REM This line calls the macro subroutine
subSub1_

sub subSub1_()
autECLSession.autECLOIA.WaitForAppAvailable

autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "2"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[enter]"

autECLSession.autECLPS.WaitForAttrib 6,18,"00","3c",3,10000

autECLSession.autECLPS.Wait 7219

autECLSession.autECLOIA.WaitForAppAvailable

autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[pf4]"

autECLSession.autECLPS.WaitForAttrib 5,29,"00","3c",3,10000

autECLSession.autECLPS.Wait 3234

autECLSession.autECLOIA.WaitForAppAvailable

autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[pf3]"

autECLSession.autECLPS.WaitForAttrib 17,15,"00","3c",3,10000

autECLSession.autECLPS.WaitForCursor 17,16,10000

autECLSession.autECLOIA.WaitForAppAvailable

autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "4"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[enter]"

autECLSession.autECLPS.WaitForAttrib 6,18,"00","3c",3,10000

autECLSession.autECLPS.Wait 2265

autECLSession.autECLOIA.WaitForAppAvailable

autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[pf3]"
Application.StatusBar = "Herhaald: " & i & ". Van de " & y & " keer."
Next
End Sub
 
Het is VBScript dus dan mag je die dim statements weg laten, tenzij je die Option Explicit aan zet en dan gebruik je:
Dim x, y
Hier hoef je in VBScript geen type aan mee te geven.
 
Kun voor mij het script bewerken en reposten zodat hij wel werkt want het lukt me maar niet?
 
Ik kan het niet testen dus garantie tot aan de deur

Code:
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)

REM This line calls the macro subroutine
subSub1_

sub subSub1_()
    Dim x, y

    y = inputbox("Hoeveel keer? ")

    For x = 1 To y   
   	With autECLSession
	    '.autECLOIA.WaitForAppAvailable

	    .autECLOIA.WaitForInputReady
	    .autECLPS.SendKeys "3"
	    .autECLOIA.WaitForInputReady
	    .autECLPS.SendKeys "[enter]"
   
	    .autECLPS.WaitForAttrib 20,17,"00","3c",3,10000

	    .autECLPS.WaitForCursor 20,18,10000

	    .autECLOIA.WaitForAppAvailable
   
	    .autECLOIA.WaitForInputReady
	    .autECLPS.SendKeys "6"
	    .autECLOIA.WaitForInputReady
	    .autECLPS.SendKeys "[enter]"
   
	    .autECLPS.WaitForAttrib 6,18,"00","3c",3,10000

	    .autECLPS.Wait 2031 

	    .autECLOIA.WaitForAppAvailable
   
	    .autECLOIA.WaitForInputReady
	    .autECLPS.SendKeys "[pf3]"
   
	    .autECLPS.WaitForAttrib 20,17,"00","3c",3,10000

	    .autECLPS.Wait 1172 

	    .autECLOIA.WaitForAppAvailable
   
	    .autECLOIA.WaitForInputReady
	    .autECLPS.SendKeys "[pf3]"
	End With
   Next
End Sub
 
Laatst bewerkt:
Je bent geniaal!

Top man,

Hij loopt als een zonnetje. Nu ben ik al een heel eind op weg.

Ik had de code zelf proberen uit te bouwen.

Erg bedankt!

Nu kan deze topic wel gesloten worden.
 
Dan kun je de vraag op 'Opgelost' zetten :).
 
Graag gedaan.
Ik heb de code in dezelfde moeite door maar even wat netter gemaakt qua indeling :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan