hücreleri tarihe çevirmek

Katılım
12 Haziran 2007
Mesajlar
59
Excel Vers. ve Dili
excel 2007
Arkadaşlar elimde 1500-200 arası satırdan oluşan bi tarih dizisi var ancak bu tarihler bitişik olarak(günayyıl) şeklinde girilmiş,sormak istediğim bunların normal tarih olarak göstermemi sağlayacak formul,makro vs bileniniz var mı acaba???yalnız dikkat edilmesi gerekn nokta gün ve ay bölümleri bazı hücrelerde tek bazılarında iki basamak olarak girilmiş(3-03,5-05,8-18 vs.. şeklinde) bütün hücrelerde standart olan son dört hanenin yılı ifade etmesi...
Anlattıklarımı örnek olarak göstern dosyayı eke koydum.Yardımcı olacak arkadaşlara şimdiden teşekkürler...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,401
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba

Dosyayı inceleyiniz. Uzunluk 7 den küçükse kontrol etmedim, çünkü doğru olmazdı, ay mı 2 hane olmalı yoksa gün mü?

Formülü yanlış kurmuşum dalgınlıkla düzeltilmiş hali ekte.
 
Son düzenleme:
Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Necdet Bey;
Makro ile hücreleri metne çevirdikten sonra. Hücrenin içerisine sanki F2 ye basarak düzenle diyerek girmiş gibi 4 karakter soldan sağa git "." nokta koy sonra 2 karakter daha git "." araya nokta koy komutlarını nasıl yazarız. Sonrada hücreyi tarih formatına çevimek lazım tabi.:) Bilmediğim için haliyle bunları kod olarak yazamadım:)
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,401
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın agent1980,


Bir yöntem aşağıdaki gibi olabilir

Kod:
Public Sub Tarihe_Donustur()
For i = 1 To [A65536].End(3).Row
    
    d = Cells(i, "A")
    
    If Len(d) = 8 Then
        Yıl = Right(d, 4)
        Ay = Mid(d, 3, 2)
        Gün = Left(d, 2)
        
    ElseIf Len(d) = 7 Then
        Yıl = Right(d, 4)
        Ay = Mid(d, 2, 2)
        Gün = Left(d, 1)
        
    Else
        Yıl = Right(d, 4)
        Ay = Mid(d, 2, 1)
        Gün = Left(d, 1)
    End If
    
    Cells(i, "D") = DateSerial(Yıl, Ay, Gün)
Next i
End Sub
 
Katılım
12 Haziran 2007
Mesajlar
59
Excel Vers. ve Dili
excel 2007
arkadaşlar ilginiz için teşekkürler,çözümleriniz büyük ölçüde halledecek sanırım sorunumu ,yarın işyerinde bakacam artık...
 
Katılım
4 Mart 2005
Mesajlar
68
Excel Vers. ve Dili
Excel 2003
Tarih

KARDES BIRSEY YAPTIM AMA 1.11.2007 YI AYIRAMIYOR YANI 11 OCAK DA OLABILIR YADA 1 KASIM DA OLABILIR ONU SEN AYIR ARTIK :d
 
Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Necdet Bey;

Teşekkür ederim bende yaklaşık 1 saattir uğraşıyorum ama yapamadım. Bari yarım kalmasın bitirebilirsem eklerim yinede :hihoho:
 
Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Evet sonunda bitirebildim :mrgreen:

Kod:
Sub tarihe_cevir()
Dim kac As Integer

son = Sayfa1.Cells(65536, 1).End(xlUp).Row

For i = 1 To son
txt = Cells(i, 1).Text
kac = Len(Cells(i, 1))
Cells(son, 1).NumberFormat = "@"
Range("c1:c" & son).NumberFormat = "@"

If kac = 8 Then
    yil = Right(txt, 4)
    ay = Mid(txt, (kac - 5), 2)
    gun = Mid(txt, 1, 2)
ElseIf kac = 7 Then
    yil = Right(txt, 4)
    ay = Mid(txt, (kac - 5), 2)
    If Int(ay) > 12 Then
        ay = Mid(txt, (kac - 4), 1)
        gun = Mid(txt, 1, 2)
    Else
ay = Mid(txt, (kac - 5), 2)
gun = Mid(txt, 1, 1)

End If
End If

Cells(i, 3).NumberFormat = "m/d/yyyy"
Cells(i, 3).Value = gun & "." & ay & "." & yil

Next
End Sub
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu kodu bir deneyin. İşe yarayabilir.

Sub Makro1()
Selection.NumberFormat = "00"".""00"".""0000"
End Sub
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Arkadaşlar elimde 1500-200 arası satırdan oluşan bi tarih dizisi var ancak bu tarihler bitişik olarak(günayyıl) şeklinde girilmiş,sormak istediğim bunların normal tarih olarak göstermemi sağlayacak formul,makro vs bileniniz var mı acaba???yalnız dikkat edilmesi gerekn nokta gün ve ay bölümleri bazı hücrelerde tek bazılarında iki basamak olarak girilmiş(3-03,5-05,8-18 vs.. şeklinde) bütün hücrelerde standart olan son dört hanenin yılı ifade etmesi...
Anlattıklarımı örnek olarak göstern dosyayı eke koydum.Yardımcı olacak arkadaşlara şimdiden teşekkürler...
Uzunluk 6 olduğunda ilk rakamı gün, ikinci rakamı ay almak üzere aşağıdaki formülü deneyin.

=IF(LEN(A7)=8;DATE(RIGHT(A7;4);MID(A7;3;2);LEFT(A7;2));IF(LEN(A7)=7;DATE(RIGHT(A7;4);MID(A7;2;2);LEFT(A7;1));IF(LEN(A7)=6;DATE(RIGHT(A7;4);MID(A7;2;1);LEFT(A7;1));"")))

IF=EĞER
LEN=UZUNLUK
RIGHT=SAĞDAN
LEFT=SOLDAN
MİD=PARÇAAL


..
 
Üst