• DİKKAT

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

Tarih Biçimlendirme

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,652
Excel Vers. ve Dili
Excel : 2010
Herkese Merhaba,
A1 hücresine "Ankara01011970" yazılıp entere basıldığı zaman A1 hücresine "Ankara - 01.01.1970" şeklinde, biçimlendirme yapılabilir mi? Tarihin solundaki ibare yani "Ankara" değişkenlik arzediyor. Sabit değildir. Ã?rnek Olarak : İstanbul, Bursa, İzmir vb... olabilir.
Kolay Gelsin....
 
Bildiğim kadarıyla böyle bir tarih biçimlendirmesi yok.
 
Bunları ayrı ayrı hücrelere yazmak niye istemiyorsun daha sonra istediğin gibi birleştirebilirsin.
 
Arkadaşlar bu tarih biçimi direkt ilgili hücrenin içine yazılması gerek.
İki ayrı hücreye yazılıpta sonra bir hücrede birleştirme olmuyor. Bu makroyla mümkün olmuyor mu? Tarihin tek başına formatlanması kolaydır. Hem excelin kendi fonksiyonlarından hemde makroyla mümkündür. Ama yanına (tarih formatının soluna) bir metin yazıldığında, (değişken metin) o zor oluyor. Bence makroyu (VBA) biraz iyi bilen arkadaşlar çözebilirler. Sorunun mantığı anlaşılırsa çözüm daha kolaylaşır.
Hadi arkadaşlar göreyim sizileri. VBA'cının elinde bu sorunun kurtulmaması gerek. Hepinize saygılarımı sunuyorum...
 
Herkese Selamlar,
Arkadaşlar soru çok mu zor? Modlardan rica ediyoruz. Çözümü hiç mi yoktur....
 
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın. Sadece A sütununda çalışacaktır. Eğer farklı sütunda çalışmasını isterseniz, kod içindeki 1 rakamını çalışacak sütun değeri ile değiştirin.

[vb:1:9313cc8941]Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = "" Then Exit Sub
If Target.Column <> 1 Then Exit Sub
Application.EnableEvents = False
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "[0-9]"
metin = RegExp.Replace(Target, "")
tarih = Mid(Target, Len(metin) + 1, Len(Target))
gun = Mid(tarih, 1, 2)
ay = Mid(tarih, 3, 2)
yıl = Mid(tarih, 5, 4)
Target = metin & "-" & gun & "." & ay & "." & yıl
Application.EnableEvents = True
End Sub[/vb:1:9313cc8941]
 
Levent bey ellerinize sağlık. Teşekkür ediyorum. Kod çok harika. Kod bütün A sütununda çalışıyor. Bunu yalnız A1 hücresinde çalışmasını istiyorum.
Saygılarımı sunuyorum...
 
Seyit Tiken,

Madem makro ile çözüm arıyordunuz, fonksiyon bölümüne neden yazıyırsunuz mesajınızı ?

O kadar da uğraştık burda fonksiyonla çözelim diye !
 
Sn. Leventm,

Kodlarınızı bende denedim fakat ufak bir sorun var. A1 hücresine ANKARA01011970 yazıp entera bastığımda kod gayet güzel çalışıyor fakat A1 hücresine F2 deyip tekrar entera bastığımda format bozuluyor. :hey:
 
Anlamadım gitti 1 tek hücre için exceli bu kadar kasmaya gerek var mı bilemiyorum, hücreye ha ankara 01101970 yazmışsınız ha Ankara 01.10.1970 yazmışsınız fazladan 2 nokta için mi bu zahmet?
Sonra soruyu soran arkadaşım ayrı ayrı hücrelere yazıp birleştirme olmuyor demiş, hiç denediniz mi? ya da sordunuz mu? neden olmuyor diye?.

oysa ayrı hücrelere yazmak ileride hesap kitap yaparken daha uygun olur.

İçimden geçenleri yazdım. Sayın Seyit Tiken, den de özür dileyerek
 
Necdet_Yesertener' Alıntı:
Anlamadım gitti 1 tek hücre için exceli bu kadar kasmaya gerek var mı bilemiyorum, hücreye ha ankara 01101970 yazmışsınız ha Ankara 01.10.1970 yazmışsınız fazladan 2 nokta için mi bu zahmet?

ehehheee.... bravo :mrgreen:
 
Levent bey A1 sütununda çalışıyor. Sorun yok. Ama A2 hücresine birşey yazıldığında "-.." gibi biçim çıkıyor. Yani A2 hücresine ne yazılsa solunda "-" (tire), sağında da ".." (iki nokta) çıkıyor. Halbuki yalnız A1 hücresinde ilgili veriyi formatlanması lazım. Bu kod bütün "A" sütununu formatlıyor.
Teşekkür ediyorum....
 
[vb:1:894e9a0b69]If Target.Column <> 1 Then Exit Sub
[/vb:1:894e9a0b69]

Kod içindeki yukarıdaki satırı aşağıdaki ile değiştirin.

[vb:1:894e9a0b69]If Target.address <>"$A$1" Then Exit Sub
[/vb:1:894e9a0b69]



Sn COST_CONTROL

Söylediğiniz doğrudur, çünkü hücreye F2 yaptığınızda kod bunu hücrede yeni bir değer olarak algılayıp tekrar formatı değiştirir. Her hata ihtimalini özellikle çok sayıda yazım farklılığı olabildiğini düşünürsek koda ilave yapmak neredeyse imkansızdır.
 
Levent bey teşekkür ediyorum. Ellinize sağlık.
 
bu formülün tersini istiyorum
 
Geri
Üst