Tarihi metne çevirme

hbgny

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
177
Excel Vers. ve Dili
Microsoft Excel Office 2013 Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2027
Merhaba,
Kullanmış olduğum dosyada onbinlerce satırlık veri var. Tarihi metneçevir formülü ile ayırıyorum. Sanırım veri çok olduğu için biraz kasıyor. Bunu makro ile yaparsam daha verimli çalışır mı? Yardımcı olursanız sevinirim.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
Sub tarih59()
Dim sonsat As Long, i As Long
sonsat = Cells(Rows.Count, "A").End(xlUp).Row
Range("B2:D" & Rows.Count).ClearContents
Application.ScreenUpdating = False
For i = 2 To sonsat
    Cells(i, "B").Value = Day(Cells(i, "A").Value)
    Cells(i, "C").Value = Format(Cells(i, "A").Value, "mmmm")
    Cells(i, "D").Value = Year(Cells(i, "A").Value)
Next
Application.ScreenUpdating = True
MsgBox "Bitti" & vbLf & "evrengizlen@hotmail.com"
    
End Sub
 

hbgny

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
177
Excel Vers. ve Dili
Microsoft Excel Office 2013 Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2027
Çok teşekkür ederim. Yalnız ay hücresini rakam olarak değil de ocak, şubat ... şeklinde nasıl yapabilirim onu da yazabilirseniz çok sevinirim.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,953
Excel Vers. ve Dili
İş:Excel 2016-Türkçe

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Çok teşekkür ederim. Yalnız ay hücresini rakam olarak değil de ocak, şubat ... şeklinde nasıl yapabilirim onu da yazabilirseniz çok sevinirim.
Onu düzenledim.
Bir önceki mesajımdan tekrar alabilirsiniz.:cool:
 

hbgny

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
177
Excel Vers. ve Dili
Microsoft Excel Office 2013 Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2027
Çok teşekkür ederim Evren bey, elinize sağlık. Ali Bey size de tavsiyeniz için teşekkür ederim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ali Beyin iltifatına teşekkür ederim.

Diğer yandan; bir alternatif önermek istedim .... ben 70.000 adet veri olan bir dosyada denedim, gayet randımanlı oldu.

B2, C2 ve D2 hücrelerinin herbirine aşağıdaki formülü girin;

Kod:
=A2
Daha sonra;

B2 hücresini gg

C2 hücresini aaaa

D2 hücresini yyyy

şeklinde, aşağıdaki resimde belirtildiği şekilde biçimlendirin.

Daha sonra B2, C2, D2 hücrelerini aşağıya doğru sürükleyerek alttaki hücrelere de kopyalanmasını sağlayın.

.


 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,009
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Satır sayısı fazla olduğunda blok olarak verileri işlemek daha hızlı sonuç veriyor.

Kod:
Sub Tarihi_Ayir_Gun_Ay_Yil()
    Application.ScreenUpdating = False
    
    Zaman = Timer
    Range("B2:D" & Rows.Count).ClearContents
    Son = Cells(Rows.Count, 1).End(3).Row
    
    With Range("B2:B" & Son)
        .Formula = "=DAY(A2)"
        .Value = .Value
    End With
    
    With Range("C2:C" & Son)
        .Formula = "=TEXT(A2,""aaaa"")"
        .Value = .Value
    End With
    
    With Range("D2:D" & Son)
        .Formula = "=YEAR(A2)"
        .Value = .Value
    End With

    Application.ScreenUpdating = True

    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 

hbgny

Altın Üye
Katılım
28 Eylül 2005
Mesajlar
177
Excel Vers. ve Dili
Microsoft Excel Office 2013 Türkçe
Altın Üyelik Bitiş Tarihi
05-09-2027
Haluk Bey, Korhan Bey; ilginize çok teşekkür ederim. Korhan Bey sizin öneriniz daha çabuk sonuç veriyor. Ama şuan makrosuz hali, makrolu halinden daha hızlı çalışıyor. Sizlere dosyamın diğer kısımlarını da gönderiyorum. Herhalde diğer formüller dosyayı kasıyor. Ben tarih formülünü yaparsam olur diye düşünmüştüm ama olmadı. Sizler bu konuda daha tecrübelisiniz. Yardımcı olursanız sevinirim.
 

Ekli dosyalar

Son düzenleme:
Üst