herhangi bir metin tarih formatında mı yazılmış nasıl kontrol ediyoruz
tarih formatı ile biçim maskesi olan metin kutusunu boş olarak görmüyor
neden olabilir
@benbendedeilem
On Error GoTo son
With Metin0
If .Value = "" Then GoTo enson
Dim tarih As Variant, trh As Date, eom As Long, deger As String
.Value = Replace(.Value, " ", ".")
.Value = Replace(.Value, "/", ".")
tarih = Split(.Value, ".")
If Len(tarih(0)) = 1 Then tarih(0) = "0" & tarih(0)
If Len(tarih(1)) = 1 Then tarih(1) = "0" & tarih(1)
deger = tarih(0) & "." & tarih(1) & "." & tarih(2)
If Not deger Like "##.##.####" Then
MsgBox "Tarih bilgisi ""gg.aa.yyyy"" þeklinde girilmelidir.", vbCritical, "HATA"
.SetFocus
GoTo var
Else
trh = DateSerial(tarih(2), tarih(1), 1)
eom = Day(CLng(DateSerial(Year(trh), Month(trh) + 1, 0)))
If Val(tarih(0)) > eom Then
GoTo son
.SetFocus
End If
If tarih(1) > 12 Then
GoTo son
.SetFocus
End If
End If
var:
eom = Empty: trh = Empty: deger = Empty: Erase tarih
Exit Sub
son:
.SetFocus
MsgBox "Hatali Tarih...", vbCritical, "Hata"
Cancel = True
Exit Sub
enson:
End With