Hirdetés

Új hozzászólás Aktív témák

  • Delila_1

    veterán

    válasz visit #40939 üzenetére

    Egyszerűbb lenne, ha telepítenéd a naptár vezérlőt, de itt egy ellenőrző makró. A (végül) bevitt dátumot az A1 cellába írja be.

    Sub Dat_ellenorzes()
    Dim kelt As String
    kelt = Application.InputBox("Add meg dátumot", "Dátum bekérése", , , , , , 2)

    'Ellenőrzés
    'Teljes hossz
    If Len(kelt) <> 10 Then GoTo Hiba

    'Pontok helye
    If Mid(kelt, 3, 1) <> "." Then GoTo Hiba 'nap
    If Mid(kelt, 6, 1) <> "." Then GoTo Hiba 'hónap

    'Szám-e
    If Not IsNumeric(Left(kelt, 2)) Then GoTo Hiba 'nap
    If Not IsNumeric(Mid(kelt, 4, 2)) Then GoTo Hiba 'hónap
    If Not IsNumeric(Right(kelt, 4)) Then GoTo Hiba 'év

    'Számok helyessége
    If Left(kelt, 2) > "31" Then GoTo Hiba 'nap
    If Mid(kelt, 4, 2) > "12" Then GoTo Hiba 'hónap

    Select Case Mid(kelt, 4, 2) 'hónap
    Case "02" 'február
    If Right(kelt, 4) / 4 <> Int(Right(kelt, 4) / 4) And Left(kelt, 2) > 28 Then GoTo Hiba
    Case "04", "06", "09", "11" '30 napos hónapok
    If Left(kelt, 2) > 30 Then GoTo Hiba
    End Select

    If Right(kelt, 4) / 4 = Int(Right(kelt, 4) / 4) And Mid(kelt, 4, 2) = "02" _
    And Left(kelt, 2) > 29 Then GoTo Hiba 'szökőév február

    Range("A1") = CDate(kelt)
    Exit Sub

    Hiba:
    Dat_ellenorzes
    End Sub

Új hozzászólás Aktív témák