tarih ayıracı acil..

Katılım
22 Nisan 2006
Mesajlar
20
sorunum şu: a sutununda 100 adet araya . konulmadan yazılmış tarihler var.10042008 gibi. bunu makro kullanarak 10.04.2008 haline nasıl dönüştürebiliriz.tşk.
 

Necdet

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

sayıların hepsi 8 uzunluğunda mı?
 
Katılım
22 Nisan 2006
Mesajlar
20
evet 8 buna göre düşünün ama eksik girilen olsaydı ne yapardık onun hakkındada bilgi verirseniz sevinirim
 
Katılım
26 Kasım 2005
Mesajlar
396
Excel Vers. ve Dili
Office 365
tarihmakro

örneği incelerseniz sorunuza çözüm olur sanırım. a sütunundaki değerleri istediğiniz şekilde b sütununa çeviriyor
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu şekilde bir deneyin.
Kod:
Sub Makro2()
[a1:a200].NumberFormat = "00\.00\.0000"
End Sub
 
Katılım
26 Kasım 2005
Mesajlar
396
Excel Vers. ve Dili
Office 365
ben ısrarla benim yöntemi tavsiye ediyorum. Çünkü 8 basamaktan küçük sayı ile karşılaşma durumunda bu yöntemle, yönlendirme uyarma, 8 basamağa sıfır koyarak çıkarak çevirme ilave edilebilir. benimki orjinal saf makro. Sizinki sanırım format.==))
 

Necdet

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

Bir çözümde benden, uzunluk 7 yada 8 ise çalışır.
Değerlerin A sütununda olduğu varsayılarak aşağıdaki kodları deneyebilirsiniz.

Kod:
Public Sub Tarih()
Application.ScreenUpdating = False
For i = 1 To [A65536].End(3).Row
    If Len(Cells(i, "A")) = 8 Then
        Cells(i, "A") = DateSerial(Right(Cells(i, "A"), 4), Mid(Cells(i, "A"), 3, 2), Left(Cells(i, "A"), 2))
    ElseIf Len(Cells(i, "A")) = 7 Then
        Cells(i, "A") = DateSerial(Right(Cells(i, "A"), 4), Mid(Cells(i, "A"), 2, 2), Left(Cells(i, "A"), 1))
    End If
Next i
End Sub
 
Katılım
22 Nisan 2006
Mesajlar
20
ilgilenen herkese çok teşekkür ederim
 
Üst