VBA Biçim Tarihi - VBA Kodunda Tarih Formatı Nasıl Değiştirilir?

Excel VBA Biçim Tarihi

To VBA bir tarih biçimlendirmek o tarih biçimini ve istenilen biçim gerekli getiri olarak girdi alır biz dahili BİÇİMİ fonksiyonu kendisini kullanmak, bu işlev için gerekli argümanlar ifadesinin kendisi ve biçim türüdür.

Tarih ve saatin biçimlendirilmesi excel'de hassas şeylerdir ve aynı şey VBA'ya da uygulanır. Varsayılan tarih ve saat, sistemden sisteme değişiklik gösterebilen üzerinde çalıştığımız sistem tarihine dayanmaktadır. Bu yazıda, tarihleri ​​VBA kodlarıyla biçimlendirmek için farklı teknikler göstereceğiz.

Tarih formatını VBA kodlaması ile değiştirmek için, tarih formatlarının ne olduğunu ve tarih üzerindeki etkisini bilmemiz gerekir.

Aşağıdaki tablo, farklı tarih biçimlendirmesini ve kodlarını gösterir.

Dolayısıyla, yukarıdaki çizelgeyi VBA kodlamasıyla biçimlendirmek hiç de zor bir iş değildir.

VBA'da Tarih Formatı Nasıl Değiştirilir?

Aşağıda excel VBA tarih biçimi örnekleri verilmiştir.

Örnek 1

Örneğin, aşağıda gösterildiği gibi, çalışma sayfasının birden çok hücresinde aynı tarihe sahibiz.

Şimdi etkiyi farklı tarih biçimi kodlarında görmek için aynı tarih için farklı tarih biçimleri uygulayacağız.

İlk olarak, etkiyi görmek için aynı verileri bir sonraki sütuna da kopyalayın.

İlk tarih, yani A1 hücresi için "GG-AA-YYYY" biçimini uygulayacağız .

İlk olarak kodda, RANGE nesnesini kullanarak hücreyi seçmemiz gerekiyor .

Kod:

Alt Tarih_Format_Örnek1 () Aralık ("A1") Son Alt

Hücrenin tarih formatını değiştirdiğimiz için , RANGE nesnesinin “ Number Format ” özelliğine erişmemiz gerekiyor.

Kod:

Alt Tarih_Format_Örnek1 () Aralık ("A1"). Sayı Biçimi Son Alt

" Sayı Biçimi " ne eriştikten sonra, eşittir işaretini koyarak sayı biçimini ayarlamamız ve biçim kodunu çift tırnak içinde uygulamamız gerekir.

Kod:

Alt Tarih_Format_Örnek1 () Aralık ("A1") .SayıFormat = "gg-aa-yyy" 'Bu, tarihi "23-10-2019" Son Alt olarak değiştirir

Bu kodu çalıştırdığımızda, sayı biçimini A1 hücresine " GG-AA-YYY " olarak uygulayacaktır .

Çıktı:

Örnek 2

Benzer şekilde, diğer hücreler için de farklı biçimlendirme kodları uyguladım ve aşağıda sizin için VBA kodu var.

Kod:

Alt Tarih_Format_Örnek2 () Aralık ("A1"). Sayı Biçimi = "gg-aa-yyy" 'Bu, tarihi "23-10-2019" Aralık ("A2") olarak değiştirir. Sayı Biçimi = "gg-aa-yyy" 'Bu, tarihi "Çarşamba-10-2019" Aralık ("A3") olarak değiştirir. Sayı Biçimi = "gggg-aa-yyy" "Bu, tarihi" Çarşamba-10-2019 "Aralık (" A4 ") olarak değiştirir .NumberFormat = "gg-aaa-yyy" 'Bu, tarihi "23-Ekim-2019" Aralık ("A5") olarak değiştirir. NumberFormat = "gg-aaa-yyy"' Bu, tarihi "23- olarak değiştirir Ekim-2019 "Aralık (" A6 "). NumberFormat =" gg-aa-yy "'Bu, tarihi" 23-10-19 "Aralık (" A7 ") olarak değiştirir. NumberFormat =" ggg mmm yyyy "' Bu tarihi "Çar Ekim 2019" olarak değiştirecekAralık ("A8"). NumberFormat = "gggg mmmm yyyy" 'Bu, tarihi "Ekim 2019 Çarşamba" Son Alt olarak değiştirecek

Bu kodun sonucu aşağıdaki gibi olacaktır.

Çıktı:

FORMAT İşlevini Kullanarak Tarih Biçimini Değiştirin

VBA'da, istenen formatı hücreye uygulamak için kullanılabilecek FORMAT adlı bir fonksiyonumuz var.

Sadece "İfade" için değerin ne olduğunu belirlememiz ve buna göre "Biçim" i uygulamamız gerekiyor.

Örnek için aşağıdaki koda bakın.

Kod:

Alt Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub

Yukarıdaki kodda değişkeni varyant olarak tanımladım (herhangi bir değeri tutabilir).

Kod:

Varyant Olarak Dim MyVal

Bu değişkenin yanında, değeri 43586 olarak belirledim.

Kod:

MyVal = 43586

Next, in the message box, I have shown the result of the variable, but before we show the result, we have used the “FORMAT” function to format the value of the variable “MyVal,” and the format is given. “DD-MM-YYYY.”

Code:

MsgBox Format(MyVal, "DD-MM-YYY")

Ok, let’s run the code and see the result in the message box in VBA.

Output:

As you can see above, the result shows as “01-05-2019”.

Now you must be wondering we have supplied the serial number but the result showing as the date. This is because Excel stores the date as serial numbers, so the value 43586 is equal to the date “01-05-2019,” and if you increase the number by 1 i.e., 43587, the date will be “02-05-2019”.

Code:

Alt Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub

Hatırlanacak şeyler

  • Sisteminizin varsayılan tarihi excel'inize de uygulanacaktır.
  • Number Format özelliği, VBA'da tarih formatını değiştirmek için kullanılabilir.
  • FORMAT işlevini kullanarak tarih formatını değiştirebiliriz.
  • Excel, tarihi seri numaraları olarak depolar ve tarih biçimini uygularsanız, buna göre gösterilir.

Ilginç makaleler...