Datum controle cel I48 via macro

Status
Niet open voor verdere reacties.

corvdh

Gebruiker
Lid geworden
29 aug 2010
Berichten
128
Ik heb in een Excel document een knop ingevoegd en daar een macro aan toegewezen.
De macro stelt het afdrukbereik in en controleert of in cel I48 een datum is ingevoerd.
Zo ja dan zal het werkblad 1 x worden afgedrukt, zo niet dan verschijnt er een foutmelding.

Het controleren of er een datum in cel I48 staat doe ik met het volgende stukje vba code:

Code:
intTotaal = ActiveSheet.Range("I48").Value
    If intTotaal = "" Then
    CreateObject("WScript.Shell").Popup "Er is geen datum ingetypt.", 3, "Waarschuwing: Kan niet printen", vbCritical
    GoTo 10
    Else
    GoTo 1
    End If


Wat ik als extra controle zou willen is dat de macro ook controleert of de datum in cel I48 ouder is dan 2 dagen.
Dus het is nu 20-05-2013, als er een datum 17-05-2013 (of ouder) in cel I48 staat moet er een melding komen of ik wel zeker weet of ik het werkblad wil printen of dat ik eerst de datum wil corrigeren naar 20-05-2013.

Kan dit, en zo ja hoe doe ik dit?
 
De 'gotos' zijn 'n beetje iffy, maar die heb ik maar even laten staan....
Code:
    Dim dtTotaal As Variant
    dtTotaal = ActiveSheet.Range("I48").Value
    If Not IsDate(dtTotaal) Then
        MsgBox ("Er is geen datum ingegeven")
        goto 10 'brrrrr
    Else
        If Date - dtTotaal > 2 Then
            If MsgBox("Are you sure?", vbDefaultButton2 Or vbYesNo) = vbYes Then
                'do the printing
                goto 1 'brrrr
            End If
        Else
            'do the printing
            goto 1 'brrrr
        End If
    End If
End Sub
 
Het werkt, hier voor bedankt.

Maar nu lijkt het me eigenlijk ook wel handig als er nog een melding komt, maar dan wanneer de datum 2 dagen of meer hoger is dan vandaag.
Kan deze controle ook nog aan deze macro toegevoegd worden?
 
Dan moet je dus een stukje
Code:
ElseIf dtTotaal - Date > 2 Then
toevoegen
 
Ik heb even jou stukje code bekeken, maar kom er niet helemaal uit hoe dit in de bestaande macro te zetten.

Ik ben zelf ook even bezig geweest en kom dan uit op de volgende code:
Code:
If Range("I48").Value > Now() Then
    lngAntwoord = MsgBox("De datum van dit document is nieuwer dan vandaag." + vbCr + vbCr + "Wil je hem toch afdrukken?", vbQuestion + vbYesNo + vbDefaultButton1, "Ter informatie")
    If lngAntwoord = vbYes Then
    GoTo 3
    End If
    Else
    GoTo 10
Ik heb nu dus een controle op een oudere en een nieuwere datum in cel I48 nu nog even één macro ervan maken.

Ik ben in ieder geval weer een stuk verder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan