Tarih Biçimlendirme

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
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....
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Bildiğim kadarıyla böyle bir tarih biçimlendirmesi yok.
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
Bunları ayrı ayrı hücrelere yazmak niye istemiyorsun daha sonra istediğin gibi birleştirebilirsin.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
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...
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Herkese Selamlar,
Arkadaşlar soru çok mu zor? Modlardan rica ediyoruz. Çözümü hiç mi yoktur....
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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]
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
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...
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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 !
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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:
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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:
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
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....
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
[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.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Levent bey teşekkür ediyorum. Ellinize sağlık.
 
Katılım
30 Aralık 2008
Mesajlar
226
Excel Vers. ve Dili
OFİS 2010
bu formülün tersini istiyorum
 
Üst