• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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...
 
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:
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:)
 
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
 
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...
 
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
 
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:
 
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
 
Bu kodu bir deneyin. İşe yarayabilir.

Sub Makro1()
Selection.NumberFormat = "00"".""00"".""0000"
End Sub
 
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


..
 
Geri
Üst