Tarihleri biçimlendirmesi hk.

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
906
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
Merhaba,

"B" sütüna 01 2020 veya 12 2020 yazdığımız zaman, 01-2020/01-2020 veya 12-2020/12-2020 gelecek şekilde
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sayfanın kod bölümüne:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bicim, s As String, t As Byte
    If Intersect(Target, Range("B:B,D:D")) Is Nothing Then Exit Sub
    With Target
        If .Row < 2 Then Exit Sub
        If .Count > 1 Then Exit Sub
        If .Column = 4 Then
            Cells(.Row, "F").NumberFormat = "General"
            Cells(.Row, "G").NumberFormat = "General"
            bicim = "00-00-0000"
            If Len(.Value) < 5 Then bicim = "00-00"
            If Len(.Value) < 7 And Len(.Value) > 4 Then bicim = "00-00-00"
            If IsDate(Format(.Value, bicim)) = True Then
                Application.EnableEvents = False
                Cells(.Row, "F") = CDate(Format(.Value, bicim))
                Cells(.Row, "G") = CDate(Format(.Value, bicim))
                Application.EnableEvents = True
            End If
        End If
        If .Column = 2 Then
            t = InStr(.Value, "/")
            If t = 0 Then
                s = Replace(.Value, " ", "-")
                .Value = s & "/" & s
            End If
        End If
    End With
End Sub
 

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
906
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
İlginiz için, "D" sütüna tarih yazdığım zaman tarihleri aralarında "-" işareti olmadı,
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodlardaki;

Cells(.Row, "F") = CDate(Format(.Value, bicim))
Cells(.Row, "G") = CDate(Format(.Value, bicim))

CDate leri silip deneyiniz. Aşağıdaki gibi.

Cells(.Row, "F") = Format(.Value, bicim)
Cells(.Row, "G") = Format(.Value, bicim)
 

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
906
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
Kodlarda değişiklik yaptım ama olmadı , D sütüna 05122020 yazdığım zaman F ve G sütünlarda 12.05.2020 yazıyor.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Deneyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bicim, s As String, t As Byte
    If Intersect(Target, Range("B:B,D:D")) Is Nothing Then Exit Sub
    With Target
        If .Row < 2 Then Exit Sub
        If .Count > 1 Then Exit Sub
        If .Column = 4 Then
            Cells(.Row, "F").NumberFormat = "@"
            Cells(.Row, "G").NumberFormat = "@"
            bicim = "00-00-0000"
            If Len(.Value) < 5 Then bicim = "00-00"
            If Len(.Value) < 7 And Len(.Value) > 4 Then bicim = "00-00-00"
            If IsDate(Format(.Value, bicim)) = True Then
                Application.EnableEvents = False
                Cells(.Row, "F") = Format(.Value, bicim)
                Cells(.Row, "G") = Format(.Value, bicim)
                Application.EnableEvents = True
            End If
        End If
        If .Column = 2 Then
            t = InStr(.Value, "/")
            If t = 0 Then
                s = Replace(.Value, " ", "-")
                .Value = s & "/" & s
            End If
        End If
    End With
End Sub
 

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
906
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
06-06-2027
F ve G sütünlardaki tarihler aralarında "-" işareti oluyor, "D" sütünda yer alan tarihin aralarında "-" işareti olması için kodlarda değişiklik yaparbilir miyiz
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Deneyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim bicim, s As String, t As Byte
    If Intersect(Target, Range("B:B,D:D")) Is Nothing Then Exit Sub
    With Target
        If .Row < 2 Then Exit Sub
        If .Count > 1 Then Exit Sub
        If .Column = 4 Then
            Cells(.Row, "F").NumberFormat = "@"
            Cells(.Row, "G").NumberFormat = "@"
            bicim = "00-00-0000"
            If Len(.Value) < 5 Then bicim = "00-00"
            If Len(.Value) < 7 And Len(.Value) > 4 Then bicim = "00-00-00"
            If IsDate(Format(.Value, bicim)) = True Then
                Application.EnableEvents = False
                Cells(.Row, "F") = Format(.Value, bicim)
                Cells(.Row, "G") = Format(.Value, bicim)
                Cells(.Row, "D") = Format(.Value, bicim)
                Application.EnableEvents = True
            End If
        End If
        If .Column = 2 Then
            t = InStr(.Value, "/")
            If t = 0 Then
                s = Replace(.Value, " ", "-")
                .Value = s & "/" & s
            End If
        End If
    End With
End Sub
 
Üst