VBA de tarih formatı nasıl?

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,786
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Hücreye =bugün() yazdığımızda 09.06.2016 geliyor, eğer hücre sayı göstermeye ayarlı ise bu sefer de 42530 geliyor. verilen tarih yazı arasında ise metneçevir(42530;"gg.aa.yyyy") ifadesi ile düzeltiyoruz.
VBA de tarihi kopyalarken sayı olarak kopyalıyor. Bunu nasıl "gg.aa.yyyy" formatında kopyalatabilirim?
Saygılarımla
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kod satırı, A1 hücresine o günün tarihini cümle içinde kullanır:

Kod:
[a1] = WorksheetFunction.Text(Date, "dd/mm/yyyy") & " günü işe başlandı."
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,786
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Sayın Yusuf44 Arkadaşım,
Hazırladığınız, cümle içinde kullanmak için. A1 hücresinde tarih var ben onu C2 hücresine kopyaladığımda tarih sayısı olarak kopyalıyor. Bunu doğru formatta kopyalatmak istiyorum.
İlginize teşekkür ederim.
Saygılarımla
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Kod:
[C2] =WorksheetFunction.Text([A1], "dd/mm/yyyy")
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,786
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Şimdi oldu, çok teşekkür ederim Yusuf44 Hocam.
Saygılarımla
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Kod:
[C2] =WorksheetFunction.Text([A1], "dd/mm/yyyy")
Hocam bu şekilde hücreye veri yazdırdım fakat hücre tarih formatına dönmedi genelde kaldı hücreye çift tıklama yapıp çıkınca düzeldi çözümü var mı
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
DateValue(Format(Now, "dd.mm.yyyy"))
Bu şekilde çözdüm hocam teşekkür ederim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Böylede olabilir.

Range("A1") = CDate(Now)
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Hocam bu şekilde hücreye veri yazdırdım fakat hücre tarih formatına dönmedi genelde kaldı hücreye çift tıklama yapıp çıkınca düzeldi çözümü var mı
Hayırlı bayramlar.

Sorun çözülmüş, ben nedenini belirteyim:

Text ifadesi metin anlamına geliyor, yani bu özelliği kullanarak sayıları metin biçimine çeviriyoruz. Dolayısıyla hücrede metin olarak görünmesi çok normal. Çift tıklayınca artık hücreye yeni bir veri girmiş oluyoruz, Excel tarih olduğunu algılıyor.
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
YUSUF44 @Korhan Ayhan Hocam burada nerede hata yapıyorum

Kod:
SonSat = Cells(Rows.Count, "H").End(3).Row

Range("H4:H" & SonSat).Value = CDate(Format(Range("H4:H" & SonSat), "dd.mm.yyyy"))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Görseldeki tarih gibi görünen veriyi yanındaki boş bir hücrede 1 ile çarptığınızda doğru tarih bilgisini alabiliyor musunuz? Bunu bir test ediniz.

Örnek;

=A2*1

Bu işlem size hücredeki doğru tarihi döndürüyor mu?
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Görseldeki tarih gibi görünen veriyi yanındaki boş bir hücrede 1 ile çarptığınızda doğru tarih bilgisini alabiliyor musunuz? Bunu bir test ediniz.

Örnek;

=A2*1

Bu işlem size hücredeki doğru tarihi döndürüyor mu?
Evet döndü hocam kod olarak toplu nasıl yaptırabilirim hocam
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
O zaman şu işlemi yapabilirsiniz.

Boş hücreye 1 yazın.
Sonra bu hücreyi kopyalayın.
Sonra bozuk formattaki tarih olan alanı mouse ile seçin.
Sonra seçtiğiniz alan üzerinde sağ tıklayın ve ÖZEL YAPIŞTIR menüsünü açın.
Açılan menüden DEĞERLERİ ve ÇARP seçeneğini seçerek işlemi tamamlayın.

Bu aşamadan sonra filtre uygulayabilirsiniz.
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Her ay bu işlemi yapmam gerekiyor o zaman kod olarak yapamayız değil mi
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
MAKRO KAYDET yöntemini kullanarak işlemi koda dönüştürüp kullanabilirsiniz.
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
Deniyorum hocam teşekkür ederim
 

yusuf1284

Altın Üye
Katılım
17 Ocak 2015
Mesajlar
224
Excel Vers. ve Dili
Office Pro 2016 TR
Altın Üyelik Bitiş Tarihi
09-02-2028
238033

Bu şekilde çözdüm teşekkür ederim
 
Üst