Herhalen van een functie

Status
Niet open voor verdere reacties.

tvweverwijk

Nieuwe gebruiker
Lid geworden
3 aug 2012
Berichten
3
Ik heb een script geschreven in VB die zich net zo vaak moet herhalen als dat nodig is
Het script bestaat uit een IF vraag met daarna een opdracht. In beide zit een verwijzing naar een waarde in de sheet die indien nodig opgehoogd moet worden. De waarde (hier weergegeven als 'MyWeek') moet elke keer worden opgehoogd tot aan de voorwaarde is gedaan. Op het moment heb ik deze functie een heleboel keren onder elkaar geplakt met telkens de waarde bij MyWeek telkens met opgehoogd. Maar hij doet de check nu alleen zo vaak als dat ik heb ingegeven en niet zo vaak als nodig is.

Code:
If MyWeek + 1 < MyWeekMax + 1 Then

    'Vul waarde 1 om te beginnen met berekenen
        Range("AI5").Select
        ActiveCell.FormulaR1C1 = MyWeek + 1

    'Reken de gegevens uit bij de opgegeven week
        ActiveSheet.Calculate

    'Sla gegevens berekende week op
        Range("CW12:DC12").Select
        Selection.Copy
        ActiveCell.Offset(MyWeek, 171).Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1").Select

        Range("JD12:JJ12").Select
        Selection.Copy
        ActiveCell.Offset(MyWeek, 16).Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1").Select

End If

If MyWeek + 2 < MyWeekMax + 1 Then

    'Vul waarde 1 om te beginnen met berekenen
        Range("AI5").Select
        ActiveCell.FormulaR1C1 = MyWeek + 2

    'Reken de gegevens uit bij de opgegeven week
        ActiveSheet.Calculate

    'Sla gegevens berekende week op
        Range("CW12:DC12").Select
        Selection.Copy
        ActiveCell.Offset(MyWeek + 1, 171).Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1").Select

        Range("JD12:JJ12").Select
        Selection.Copy
        ActiveCell.Offset(MyWeek + 1, 16).Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1").Select

End If
 
Het is maar een halve code.
Wat is de waarde van 'myweek & myweekmax' ?

Je zou kunnen werken met:
Code:
Do Until myweek + 1 > myweekmax + 1
bla,bla.....
Loop

Even je bestandje uploaden doet meer wonderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan