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.
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