Bu eğitimde, farklı yerleşik VBA Tarih İşlevlerini inceleyeceğiz.
VBA Tarih İşlevi
Geçerli tarihi döndürmek için Tarih İşlevini kullanabilirsiniz.
Tarih İşlevinin sözdizimi Date()'dir. Argümanları yoktur.
Aşağıdaki kod, Tarih İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheDateFunction() Kullanarak AltTarihi Tarih Olarak KararttheTarih = Tarih()Hata Ayıklama.Tarihi YazdırAlt Bitiş |
Sonuç:
VBA Şimdi İşlevi
Geçerli tarih ve saati döndürmek için Şimdi İşlevini kullanabilirsiniz.
Now İşlevinin sözdizimi Now() şeklindedir. Argümanları yoktur.
Aşağıdaki kod, Şimdi İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheNowFunction() Kullanarak AltTarihi Tarih Olarak KararttheTarih = Şimdi()Hata Ayıklama.Tarihi YazdırAlt Bitiş |
Sonuç:
VBA Zaman İşlevi
Geçerli saati döndürmek için Zaman İşlevini kullanabilirsiniz.
Zaman İşlevinin sözdizimi Time()'dır. Argümanları yoktur.
Aşağıdaki kod, Zaman İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheTimeFunction() Kullanarak AltTarih Olarak Zamanı KarartZaman = Zaman()Hata Ayıklama.Zamanı YazdırAlt Bitiş |
Sonuç:
VBA Tarih Ekleme İşlevi
Bir tarih veya saate bir tarih/saat aralığı eklemek için DateAdd İşlevini kullanabilirsiniz; işlev, elde edilen tarih/saati döndürür.
DateAdd İşlevinin sözdizimi şöyledir:
DateAdd(Aralık, Sayı, Tarih) burada:
- Aralık - Kullanılacak aralığın türünü belirten bir dize. Aralık aşağıdaki değerlerden biri olabilir:
“d” - gün
"ww" - hafta
“w” - hafta içi
“m” - ay
“q” - çeyrek
"yyyy" - yıl
“y” - yılın günü
"s" - saat
"n" - dakika
"s" - saniye
- Sayı - Orijinal tarihe/saate eklemek istediğiniz aralıkların sayısı.
- Tarih - Orijinal tarih/saat.
Not: Kodunuzda tarihleri kullanırken, onları # veya tırnak işaretleri içine almalısınız.
Aşağıdaki kod, DateAdd İşlevinin nasıl kullanılacağını gösterir:
123456789 | TheDateAddFunction() Kullanarak AltDaha sonra karartTarih Olarak TarihlaterDate = DateAdd("a", 10, "11/12/2019")Hata Ayıklama.Sonraki Tarih YazdırAlt Bitiş |
Sonuç:
VBA DateDiff İşlevi
Belirtilen bir zaman aralığına göre iki tarih arasındaki farkı almak için DateDiff İşlevini kullanabilirsiniz.
DateDiff İşlevinin sözdizimi şöyledir:
DateDiff(Interval, Date1, Date2, [Haftanın İlk Günü], [Yılın İlk Haftası]) burada:
- Aralık - Kullanılacak aralığın türünü belirten bir dize. Aralık aşağıdaki değerlerden biri olabilir:
“d” - gün
"ww" - hafta
“w” - hafta içi
“m” - ay
“q” - çeyrek
"yyyy" - yıl
“y” - yılın günü
"s" - saat
"n" - dakika
"s" - saniye
- Date1 - Daha önceki tarihi temsil eden bir tarih değeri.
- Date2 - Sonraki tarihi temsil eden bir tarih değeri.
- Haftanın ilk günü (İsteğe bağlı) - İşlevin haftanın ilk günü olarak kullanması gereken haftanın gününü belirten bir sabit. Boş Pazar ise haftanın ilk günü olarak kullanılır. Haftanın ilk günü aşağıdaki değerlerden biri olabilir:
-vbSunday - Pazar gününü haftanın ilk günü olarak kullanır.
-vbMonday - Pazartesiyi haftanın ilk günü olarak kullanır.
-vbTuesday - Salı gününü haftanın ilk günü olarak kullanır.
-vbWednesday - Çarşambayı haftanın ilk günü olarak kullanır.
-vbThursday - Perşembeyi haftanın ilk günü olarak kullanır.
-vbFriday - Cuma gününü haftanın ilk günü olarak kullanır.
-vbSaturday - Cumartesi'yi haftanın ilk günü olarak kullanır.
-vbUseSystemDayOfTheWeek - sistem ayarlarınızda belirtilen haftanın ilk gününü kullanır.
- yılın ilk haftası (İsteğe bağlı) - Yılın ilk haftasını belirten bir sabit. Boş ise yılın ilk haftası olarak 1 Ocak haftası kullanılır. Yılın ilk haftası aşağıdaki değerlerden biri olabilir:
-vbFirstJan1 - 1 Ocak'ı içeren haftayı kullanır.
-vbFirstFourDays - yeni yılda en az dört gün içeren ilk haftayı kullanır.
-vbFirstFullWeek - yılın ilk tam haftasını kullanır.
-vbSystem - sistem ayarlarınızda belirtildiği gibi yılın ilk haftasını kullanır.
Aşağıdaki kod, DateDiff İşlevinin nasıl kullanılacağını gösterir:
123456789 | TheDateDiffFunction() Kullanarak Altİki Tarih Arasındaki Farkı Uzun Süre DimtheDifferenceBetweenTwoDates = DateDiff("q", "11/11/2010", "10/12/2012")Hata Ayıklama.İki Tarih Arasındaki Farkı YazdırAlt Bitiş |
Sonuç:
VBA Tarih Bölümü İşlevi
Belirli bir tarihin bir bölümünü (gün, hafta, çeyrek, ay vb.) döndürmek için DatePart İşlevini kullanabilirsiniz.
DatePart İşlevinin sözdizimi şöyledir:
DatePart(Aralık, Tarih,[Haftanın İlk Günü], [Yılın İlk Haftası]) burada:
- Aralık - Tarihin döndürülecek bölümünü belirten bir dize. Aralık aşağıdaki değerlerden biri olabilir:
“d” - gün
"ww" - hafta
“w” - hafta içi
“m” - ay
“q” - çeyrek
"yyyy" - yıl
“y” - yılın günü
"s" - saat
"n" - dakika
"s" - saniye
- Tarih - İşlevin bir bölümünü döndürmesini istediğiniz tarih.
- Haftanın ilk günü (İsteğe bağlı) - İşlevin haftanın ilk günü olarak kullanması gereken haftanın gününü belirten bir sabit. Boş Pazar ise haftanın ilk günü olarak kullanılır. Haftanın ilk günü aşağıdaki değerlerden biri olabilir:
-vbSunday - Pazar gününü haftanın ilk günü olarak kullanır.
-vbMonday - Pazartesiyi haftanın ilk günü olarak kullanır.
-vbTuesday - Salı gününü haftanın ilk günü olarak kullanır.
-vbWednesday - Çarşambayı haftanın ilk günü olarak kullanır.
-vbThursday - Perşembeyi haftanın ilk günü olarak kullanır.
-vbFriday - Cuma gününü haftanın ilk günü olarak kullanır.
-vbSaturday - Cumartesi'yi haftanın ilk günü olarak kullanır.
-vbUseSystemDayOfTheWeek - sistem ayarlarınızda belirtilen haftanın ilk gününü kullanır.
- yılın ilk haftası (İsteğe bağlı) - Yılın ilk haftasını belirten bir sabit. Boş ise yılın ilk haftası olarak 1 Ocak haftası kullanılır. Yılın ilk haftası aşağıdaki değerlerden biri olabilir:
-vbFirstJan1 - 1 Ocak'ı içeren haftayı kullanır.
-vbFirstFourDays - yeni yılda en az dört gün içeren ilk haftayı kullanır.
-vbFirstFullWeek - yılın ilk tam haftasını kullanır.
-vbSystem - sistem ayarlarınızda belirtildiği gibi yılın ilk haftasını kullanır.
Aşağıdaki kod, DatePart İşlevinin nasıl kullanılacağını gösterir:
123456789 | TheDatePartFunction() Kullanarak AltThePartOfTheDate Tamsayı Olarak KarartınthePartOfTheDate = DatePart("yyyy", "12/12/2009")Hata Ayıklama.Tarih Bölümünü YazdırAlt Bitiş |
Sonuç:
VBA TarihSeri İşlevi
VBA DateSerial İşlevi bir yıl, ay ve gün girdisi alır ve bir tarih döndürür.
DateSerial İşlevinin sözdizimi şöyledir:
DateSerial(Yıl, Ay, Gün) burada:
- Yıl - Yılı temsil eden 100 ile 9999 arasında bir tamsayı değeri.
- Ay - Ayı temsil eden bir tamsayı değeri.
- Gün - Günü temsil eden bir tamsayı değeri.
Aşağıdaki kod, DateSerial İşlevinin nasıl kullanılacağını gösterir:
123456789 | TheDateSerialFunction() Kullanarak AltTarihi Tarih Olarak KararttheDate = DateSerial(2010, 11, 10)Hata Ayıklama.Tarihi YazdırAlt Bitiş |
Sonuç:
VBA TarihDeğeri İşlevi
DateValue İşlevi, bir tarihin dize temsili verildiğinde bir Tarih döndürür.
DateValue İşlevinin sözdizimi şöyledir:
DateValue(Tarih) burada:
- Tarih - Tarihi temsil eden bir Dize.
Aşağıdaki kod, DateValue İşlevinin nasıl kullanılacağını gösterir:
123456789 | TheDateValueFunction() Kullanarak AltTarihi Tarih Olarak KararttheDate = DateValue("29 Ekim 2010")Hata Ayıklama.Tarihi YazdırAlt Bitiş |
Sonuç:
VBA Gün İşlevi
Girilen bir tarihin gününü döndürmek için Gün İşlevini kullanabilirsiniz.
Gün İşlevinin sözdizimi şöyledir:
Gün(Tarih_değeri) burada:
- Tarih_değeri - Günü çıkarmak istediğiniz tarih.
Aşağıdaki kod, Gün İşlevini nasıl kullanacağınızı gösterir:
123456789 | TheDayFunction() Kullanarak AltGünü Tamsayı Olarak KararttheDay = Gün ("10/12/2010")Hata Ayıklama. Günü YazdırAlt Bitiş |
Sonuç:
VBA Saat İşlevi
Bir giriş zamanının saatini döndürmek için Saat İşlevini kullanabilirsiniz.
Saat İşlevinin sözdizimi şöyledir:
Saat(Zaman) burada:
- Zaman - Saati çıkarmak istediğiniz saat.
Aşağıdaki kod, Saat İşlevini nasıl kullanacağınızı gösterir:
123456789 | TheHourFunction() Kullanarak AltSaati Tamsayı Olarak KararttheHour = Saat("2:14:17 AM")Hata Ayıklama.Saati YazdırAlt Bitiş |
Sonuç:
VBA Dakika İşlevi
Bir giriş süresinin dakika değerini döndürmek için Dakika İşlevini kullanabilirsiniz.
Dakika İşlevinin sözdizimi şöyledir:
Dakika(Zaman) burada:
- Zaman - Dakika değerini çıkarmak istediğiniz zaman.
Aşağıdaki kod, Dakika İşlevini nasıl kullanacağınızı gösterir:
123456789 | TheMinuteFunction() Kullanarak AltMinuteValue as IntegertheMinuteValue = Dakika("2:14:17 AM")Hata Ayıklama.DakikaDeğerini YazdırAlt Bitiş |
Sonuç:
VBA İkinci İşlev
Bir giriş zamanının ikinci değerini döndürmek için İkinci İşlevi kullanabilirsiniz.
İkinci İşlevin sözdizimi şöyledir:
İkinci(Zaman) burada:
- Zaman - İkinci değeri çıkarmak istediğiniz zaman.
Aşağıdaki kod, İkinci İşlevin nasıl kullanılacağını gösterir:
123456789 | TheSecondFunction() Kullanarak Altİkinci Değeri Tamsayı Olarak KarartıntheSecondValue = Second("2:14:17 AM")Hata Ayıklama.İkinci Değeri YazdırAlt Bitiş |
Sonuç:
VBA Ay İşlevi
Girilen tarihin ayını döndürmek için Ay İşlevini kullanabilirsiniz.
Ay İşlevinin sözdizimi şöyledir:
Ay(Tarih_değeri) burada:
- Date_value - Ayı çıkarmak istediğiniz tarih.
Aşağıdaki kod, Ay İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheMonthFunction() Kullanarak AltAyı Tamsayı Olarak KararttheMonth = Ay("18.11.2010")Hata Ayıklama.Ayı YazdırAlt Bitiş |
Sonuç:
VBA AyAdı İşlevi
Ayın adını girilen bir ay numarasından döndürmek için AyAdı İşlevini kullanabilirsiniz.
AyAdı İşlevinin sözdizimi şöyledir:
AyAdı(ay_Sayısı, [Kısalt]) burada:
- Ay Sayısı - 1 ile 12 arasında bir tamsayı değeri.
- kısalt (İsteğe bağlı) - Ay adının kısaltılıp kısaltılmayacağını belirtir. Boşsa, False'ın varsayılan değeri kullanılır.
12345678 | TheMonthNameFunction() Kullanarak AltAy Adını Dize Olarak KarartıntheMonthName = MonthName(12, True)Hata Ayıklama.Ay Adını YazdırAlt Bitiş |
Sonuç:
VBA ZamanSeri İşlevi
TimeSerial İşlevi bir saat, dakika ve saniye girdisi alır ve bir zaman döndürür.
TimeSerial İşlevinin sözdizimi şöyledir:
TimeSerial(Saat, Dakika, Saniye) burada:
- Saat - Saat değerini temsil eden 0 ile 23 arasında bir tamsayı değeri.
- Dakika - Dakika değerini temsil eden 0 ile 59 arasında bir tamsayı değeri.
- İkinci - İkinci değeri temsil eden 0 ile 59 arasında bir tamsayı değeri.
Aşağıdaki kod, TimeSerial İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheTimeSerialFunction() Kullanarak AltTarih Olarak Zamanı KararttheTime = ZamanSerisi(1, 10, 15)Hata Ayıklama.Zamanı YazdırAlt Bitiş |
Sonuç:
VBA Zaman Değeri İşlevi
TimeValue İşlevi, bir tarih veya saatin dize temsilinden bir Saat döndürür.
TimeValue İşlevinin sözdizimi şöyledir:
TimeValue(Zaman) burada:
- Zaman - Zamanı temsil eden bir Dize.
Aşağıdaki kod, TimeValue İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheTimeValueFunction() Kullanarak AltTarih Olarak Zamanı KararttheTime = TimeValue("22:10:17")Hata Ayıklama.Zamanı YazdırAlt Bitiş |
Sonuç:
VBA Hafta İçi İşlevi
Bir giriş tarihinden haftanın bir gününü temsil eden 1 - 7 arasında bir tamsayı döndürmek için Hafta İçi İşlevini kullanabilirsiniz.
Hafta İçi İşlevinin sözdizimi şöyledir:
Hafta içi(Tarih, [haftanın ilk günü]) burada:
- Tarih - Hafta içi değerini çıkarmak istediğiniz tarih.
- Haftanın ilk günü (İsteğe bağlı) - İşlevin haftanın ilk günü olarak kullanması gereken haftanın gününü belirten bir sabit. Boş Pazar ise haftanın ilk günü olarak kullanılır. Haftanın ilk günü aşağıdaki değerlerden biri olabilir:
-vbSunday - Pazar gününü haftanın ilk günü olarak kullanır.
-vbMonday - Pazartesiyi haftanın ilk günü olarak kullanır.
-vbTuesday - Salı gününü haftanın ilk günü olarak kullanır.
-vbWednesday - Çarşambayı haftanın ilk günü olarak kullanır.
-vbThursday - Perşembeyi haftanın ilk günü olarak kullanır.
-vbFriday - Cuma gününü haftanın ilk günü olarak kullanır.
-vbSaturday - Cumartesi'yi haftanın ilk günü olarak kullanır.
-vbUseSystemDayOfTheWeek - sistem ayarlarınızda belirtilen haftanın ilk gününü kullanır.
Aşağıdaki kod, Hafta İçi İşlevini nasıl kullanacağınızı gösterir:
1234567 | TheWeekdayFunction() Kullanarak AltTheWeekDay'i Tamsayı Olarak KarartıntheWeekDay = Weekday("20.11.2019")Hata Ayıklama.HaftaGününü YazdırAlt Bitiş |
Sonuç:
VBA WeekdayName İşlevi
Girilen bir hafta içi gün numarasından bir haftanın adını döndürmek için WeekdayName İşlevini kullanabilirsiniz.
WeekdayName İşlevinin sözdizimi şöyledir:
WeekdayName(Weekday, [Kısalt], [haftanın ilk günü]) burada:
- Hafta içi - 1 ile 7 arasında bir tam sayı değeri.
- kısalt (İsteğe bağlı) -Hafta içi adının kısaltılıp kısaltılmayacağını belirtir. Boşsa, False'ın varsayılan değeri kullanılır.
- Haftanın ilk günü (İsteğe bağlı) - İşlevin haftanın ilk günü olarak kullanması gereken haftanın gününü belirten bir sabit. Boş Pazar ise haftanın ilk günü olarak kullanılır. Haftanın ilk günü aşağıdaki değerlerden biri olabilir:
-vbSunday - Pazar gününü haftanın ilk günü olarak kullanır.
-vbMonday - Pazartesiyi haftanın ilk günü olarak kullanır.
-vbTuesday - Salı gününü haftanın ilk günü olarak kullanır.
-vbWednesday - Çarşambayı haftanın ilk günü olarak kullanır.
-vbThursday - Perşembeyi haftanın ilk günü olarak kullanır.
-vbFriday - Cuma gününü haftanın ilk günü olarak kullanır.
-vbSaturday - Cumartesi'yi haftanın ilk günü olarak kullanır.
-vbUseSystemDayOfTheWeek - sistem ayarlarınızda belirtilen haftanın ilk gününü kullanır.
12345678 | TheWeekdayNameFunction() Kullanarak AltDize Olarak Hafta içiAdını kararttheWeekdayName = WeekdayName(4)Hata Ayıkla.Hafta içiAdını yazdırAlt Bitiş |
Sonuç:
VBA Yıl İşlevi
Girilen bir tarihin yılını döndürmek için Yıl İşlevini kullanabilirsiniz.
Yıl İşlevinin sözdizimi şöyledir:
Yıl(Tarih_değeri) burada:
- Tarih_değeri - Yılı çıkarmak istediğiniz tarih.
Aşağıdaki kod, Yıl İşlevini nasıl kullanacağınızı gösterir:
12345678 | TheYearFunction() Kullanarak AltYılı Tamsayı Olarak KarartYıl = Yıl ("11/12/2010")Hata Ayıklama.Yıl YazdırAlt Bitiş |
Sonuç:
VBA'da Tarihleri Karşılaştırma
VBA'da >, < ve = operatörlerini kullanarak tarihleri karşılaştırabilirsiniz. Aşağıdaki kod, VBA'da iki tarihi nasıl karşılaştıracağınızı gösterir.
12345678910111213141516171819 | Alt KarşılaştırmaTarihleri()Dim dateOne As DateDim dateTwo As DatedateOne = "10/10/2010"tarihİki = "11/11/2010"Eğer dateOne > dateTwo iseDebug.Print "dateOne sonraki tarihtir"ElseIf dateOne = dateTwo O zamanDebug.Print "İki tarih eşittir"BaşkaDebug.Print "dateTwo sonraki tarihtir"BitirAlt Bitiş |
Bu öğreticiyi görüntüleyerek tarihleri dize olarak biçimlendirme hakkında daha fazla bilgi edinin.