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

VBA Inputbox Exacte Datum

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
337
iemand een oplossing voor mijn probleem?

ik heb volgende code:

Code:
Private Sub CommandButton1_Click()

Dim currentd As Date
    
   currentd = DateValue(InputBox("Date to print?", "Valid Format - dd/mmm/yyyy", Date))
   If currentd = Empty Then Exit Sub
   
'   If IsError(currentd) Then
'   MsgBox ("Error. Please input a valid Date or leave blank")
'   Exit Sub
'   End If
    
    With ActiveSheet

        .AutoFilterMode = False
        .Range("E7").AutoFilter

        With .AutoFilter.Range

            Range("E7").Select
            Selection.AutoFilter Field:=5, Criteria1:=">=" & Format$(currentd, "mm/dd/yyyy"), Operator:=xlAnd, _
                                    Criteria2:="<=" & Format$(currentd, "mm/dd/yyyy")
            
        End With

    End With

End Sub

deze werkt goed zolang er een datum ingevuld is. zodra cancel gedrukt is loopt de code vast. ook indien geen datum ingevuld.

een leeg veld laten zou handig zijn om de filter te resetten.

waar ben ik fout?

alvast bedankt
 
Eerst de string opslaan van inputbox, daar vervolgens kijken of die leeg is en dan pas parsen naar de date functie.
 
Of zo misschien?

Code:
Private Sub CommandButton1_Click()
    currentd = InputBox("Date to print? Valid Format - dd/mmm/yyyy")
    If Not IsDate(currentd) = True Or currentd = Empty Then

        MsgBox ("Error. Please input a valid Date or leave blank")
        Exit Sub
    End If

    With ActiveSheet

        .AutoFilterMode = False
        .Range("E7").AutoFilter

        With .AutoFilter.Range

            Range("E7").Select
            Selection.AutoFilter Field:=5, Criteria1:=">=" & Format$(currentd, "mm/dd/yyyy"), Operator:=xlAnd, _
                                 Criteria2:="<=" & Format$(currentd, "mm/dd/yyyy")

        End With

    End With

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan