Vba datepart işlevi nasıl kullanılır?
VBA DATEPART işlevi, VBA işlevlerinin tarih kategorisinde listelenir. VBA kodunda kullandığınızda tarih veya saat değerinden gün değerini döndürebilir . Basit bir ifadeyle, bir tarih veya saat değerinden saniyeleri, dakikaları, saatleri, günleri, ayları veya yılları elde edebilirsiniz.
Sözdizimi
DatePart(aralık, tarih, [haftanınilkgünü, [yılınilkhaftası]])
Argümanlar
- Aralık : Sonuçta tarihin hangi kısmının döndürülmesi gerektiğini belirten bir dize.
- Tarih : Tarih bölümünün geri dönmesi gereken tarih.
- [FirstDayOfWeek] : Haftanın ilk gününü tanımlayan bir dize [Bu isteğe bağlı bir bağımsız değişkendir ve varsayılan olarak vbSunday atlanırsa].
- vbUseSystemDayOfWeek – Sistem ayarlarına bağlı olarak.
- vbPazar – Pazar
- vblunday – pazartesi
- vbSalı – Salı
- vbÇarşamba – Çarşamba
- vbPerşembe – Perşembe
- vbCuma – Cuma
- vbCumartesi – Cumartesi
- [FirstWeekOfYear] : Yılın ilk haftasını tanımlayan bir dize [Bu isteğe bağlı bir bağımsız değişkendir ve varsayılan olarak vbFirstJan1 atlanırsa].
- vbSystem – Sistem ayarlarına bağlı olarak.
- vbFirstJan1 – Ocak ayının 1. gününün gerçekleştiği hafta.
- vbFirstFourDays – Yeni yılda en az dört gün içeren ilk hafta.
- vbFirstFullWeek – Yeni yılın ilk tam haftası.
Örnek
VBA DATEPART işlevinin nasıl kullanılacağını pratik olarak anlamak için, onu kullanarak bir vba kodu yazdığımız aşağıdaki örneği incelemeniz gerekir:
Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub
Yukarıdaki kodda DATEPART’ta farklı bir aralık kullandık:
- Günü almak için ‘d’ ve 15 değerini döndürdü.
- Saatleri almak için ‘h’ ancak tarihte zamanımız olmadığı için sonuçta 0 değerini döndürdü.
- Ayı almak için ‘m’ ve 1 değerini döndürdü.
- ‘n’ dakikaları almak için ancak tarihte zamanımız olmadığı için sonuçta 0 değerini döndürdü.
- Çeyreği almak için “q” ve 1 döndürdü.
- ‘s’ saniyeyi almak için ancak tarihte zamanımız olmadığı için sonuçta 0 değerini döndürdü.
- Haftanın gününü almak için ‘w’ ve 3 değerini döndürdü.
- Yılın haftasını almak için ‘ww’ ve 3 geri geldi.
- Yılın gününü almak için ‘y’ ve 15 değerini döndürdü.
- Yılı almak için “aaaa” ve 2019’a geri döndü.
Yorumlar
- Yıl olmadan bir tarih girilirse, içinde bulunulan yıl kullanılacaktır.
- Belirtilen değer tarih dışında bir değerse veya tarih olarak tanınamayan bir tarihse VBA, çalışma zamanı hatası 13’ü döndürür.
- “Haftanınilkgünü” argümanını ayarlamak yalnızca “aralık” “w” veya “ww” olduğunda işe yarar.