Tarih formatı

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,109
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,

Hücrede Genel formatında aşağıdaki gibi yazılı metini tarih formatına dönüştürmek için;

02.01.2021 13:43

aşağıdaki kodu uyguladığım zaman gün ve ay ters olarak geliyor.

sonuç 1/2/2021 olarak geliyor. nerede hata yapıyor olabiliriz?


Kod:
                strDate = Sheets(1).Range("B2").Value
                               
                d = CInt(Left(strDate, 2))
                m = CInt(Mid(strDate, 4, 2))
                y = CInt(Mid(strDate, 7, 4))
                
                sDate = DateSerial(y, m, d)


Range("C2").Value = Format(sDate, "dd/mm/yyyy")
iyi çalışmalar.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
B2 deki formatınız "aa.gg.yyyy ss:dd" olabilir.
bu durumda d ve m değişkenlerinizi yer değiştirin
sDate = DateSerial (y, d, m)
 

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
Bilgi :

VBA'de DateSerial fonksiyonunun parametrik kullanımı aşağıdaki gibidir, başka türlü de kullanılamaz.

Kod:
DateSerial(Year as Integer, Month as Integer, Day as Integer)

Sonuç olarak, muhtemelen hücre formatıyla falan oynamanız gerekiyor.
.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Range("C2").Value = Format(Range("b2"), "dd/mm/yyyy")
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,109
Excel Vers. ve Dili
Office 2013 İngilizce
B2 deki formatınız "aa.gg.yyyy ss:dd" olabilir.
bu durumda d ve m değişkenlerinizi yer değiştirin
sDate = DateSerial (y, d, m)
Merhaba,

B2 hücresinin formatı "Genel"

02.01.2021 13:43 değerini boş bir excel' sayfasında bir hücreye yapıştırarak kodları dener misiniz,

iyi Çalışmalar.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bahsettiğim, B2 içindeki verinin kendi formatı, AY ve GÜN ters olabilir. Büyük ihtimalle dış bir bağlantıdan bu tarih çekilmiş. Ama tarih olarak değil metin olarak gelmiş. B2 içindeki bu veri zaten 1.Şubat.2021 tarihi olabilir.

Bu benim değerlendirmem.
Daha sağlıklı ve doğru cevaplar için dosyanızı paylaşmanızı rica edeceğim.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,109
Excel Vers. ve Dili
Office 2013 İngilizce
Bahsettiğim, B2 içindeki verinin kendi formatı, AY ve GÜN ters olabilir. Büyük ihtimalle dış bir bağlantıdan bu tarih çekilmiş. Ama tarih olarak değil metin olarak gelmiş. B2 içindeki bu veri zaten 1.Şubat.2021 tarihi olabilir.

Bu benim değerlendirmem.
Daha sağlıklı ve doğru cevaplar için dosyanızı paylaşmanızı rica edeceğim.
Örnek dosya ekte sunulmuştur.

iyi çalışmalar.
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanızı açtım, C2 de sizin dediğiniz gibi 1.Şubat tarihi vardı.
Kodlarınızı çalıştırdım, 2.Ocak yazdı.

Kodlarda ya da B2 deki veri de problem yok.
Eğer sizin şu an denemenizde halen sonuç değişmiyorsa bilgisayarınızın tarih saat ayarlarına bakın derim.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,109
Excel Vers. ve Dili
Office 2013 İngilizce
Dosyanızı açtım, C2 de sizin dediğiniz gibi 1.Şubat tarihi vardı.
Kodlarınızı çalıştırdım, 2.Ocak yazdı.

Kodlarda ya da B2 deki veri de problem yok.
Eğer sizin şu an denemenizde halen sonuç değişmiyorsa bilgisayarınızın tarih saat ayarlarına bakın derim.
bende görüntü bu şekilde
 

Ekli dosyalar

  • 52 KB Görüntüleme: 7
  • 119.4 KB Görüntüleme: 7

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Birde dd/mm/yyyy yerine dd.mm.yyyy yapın deneyin bölgesel ayarlarınızdan.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Excel'de düzgün tarih bu kadar zor olmaması lazım, aşağıdaki görsele bir bakınız.
224291
 
Üst