• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Do ... Loop Until cel is later dan bepaalde datum

Status
Niet open voor verdere reacties.

MarijeO

Gebruiker
Lid geworden
7 mrt 2011
Berichten
17
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:
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:
Opgelost

Ik vergat de waarde te selecteren uit de cel (en dus niet de cellocatie zelf).


Loop Until Range("S65536").End(xlUp) > Range("AA1").Value
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan