Allen,
Ik heb een VBA macro met daarin een loop om gegevensinvoer te herhalen.
De gegevensinvoer is als volgt:
In Kolom S wordt een datum geplaatst, in kolommen T U V wordt deze datum gesplitst naar Week Maand Jaar. Daarna worden deze 4 kolommen gekopieerd zolang als een gekopieerde lijst namen in kolom W.
Hierna herhaalt dit zich voor elke datum + 7 dagen, tot 1-1-2012.
Mijn probleem is het definieren tot welke datum hij de loop moet uitvoeren. Ik denk dat het aan het format van de datum ligt. In de sheet gebruik ik dd-mm-jjjj.
De huidige code:
Als ik deze uitvoer, dan voert hij de code 1x uit, maar loopt niet.
Ook wanneer ik de datum 01-01-2012 vastzet in cel AA1 en bovenstaande
Loop Until Range("S65536").End(xlUp) > "01-01-2012"
vervang door
Loop Until Range("S65536").End(xlUp) > Range("AA1")
dan werkt het nog niet.
Waar ga ik fout?
Alvast bedankt!
Ik heb een VBA macro met daarin een loop om gegevensinvoer te herhalen.
De gegevensinvoer is als volgt:
In Kolom S wordt een datum geplaatst, in kolommen T U V wordt deze datum gesplitst naar Week Maand Jaar. Daarna worden deze 4 kolommen gekopieerd zolang als een gekopieerde lijst namen in kolom W.
Hierna herhaalt dit zich voor elke datum + 7 dagen, tot 1-1-2012.
Mijn probleem is het definieren tot welke datum hij de loop moet uitvoeren. Ik denk dat het aan het format van de datum ligt. In de sheet gebruik ik dd-mm-jjjj.
De huidige code:
Code:
Do
'Invoegen van datumformules + doorvoeren.
With Range("S65536").End(xlUp).Offset(1, 0)
.FormulaR1C1 = "=R[-1]C+7"
.Copy
.PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
Range("T65536").End(xlUp).Offset(1, 0).FormulaR1C1 = "=WEEKNUM(RC[-1])"
Range("U65536").End(xlUp).Offset(1, 0).FormulaR1C1 = "=MONTH(RC[-2])"
Range("V65536").End(xlUp).Offset(1, 0).FormulaR1C1 = "=YEAR(RC[-3])"
'Kopieren en plakken van Medewerkerslijst.
Range("P2").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("W65536").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
'Aanvullen andere cellen
Range("S65536").End(xlUp).Select
Set LaatsteCelDatum = Range("W1").End(xlDown).Offset(0, -1)
Range(Selection, LaatsteCelDatum).FillDown
'Loop eind instructie
Loop Until Range("S65536").End(xlUp) > "01-01-2012"
Als ik deze uitvoer, dan voert hij de code 1x uit, maar loopt niet.
Ook wanneer ik de datum 01-01-2012 vastzet in cel AA1 en bovenstaande
Loop Until Range("S65536").End(xlUp) > "01-01-2012"
vervang door
Loop Until Range("S65536").End(xlUp) > Range("AA1")
dan werkt het nog niet.
Waar ga ik fout?
Alvast bedankt!
Laatst bewerkt: