VBA Tarih Fonksiyonu (Örneklerle Makroların 12 Kullanımı)

  • Bunu Paylaş
Hugh West

Microsoft Visual Basic Uygulamasında, tarih işlevleri veya tarihle ilgili kavramlar, veri kümenizde çeşitli işlemler gerçekleştirmek için gereklidir. Kendinizi bu işlevleri kullanmanız gereken çeşitli durumlarda bulabilirsiniz. Bu eğitimde, uygun örnekler ve uygun resimlerle VBA'nın Tarih işlevi hakkında bilgi edineceksiniz. Ayrıca, size birden fazla tarih işlevi sunacağızçalışma sayfanızda uygulayabileceğiniz.

Alıştırma Çalışma Kitabını İndirin

VBA Date.xlsm Kullanımları

VBA Tarih İşlevine Giriş

Excel Tarihleri şu şekilde kategorize eder Tarih / Saat Yerleşik bir işlevdir. Tarihle ilgili herhangi bir işlemi gerçekleştirmek için VBA makrolarında kullanabiliriz.

Tarih fonksiyonunu kullanmaya başlamadan önce VBA'da tarih değişkenleri .

⏺Sözdizimi

Date()

⏺Argüman Açıklamaları

Tartışma yok.

⏺Geri dönüşler

Geçerli tarihi döndürür.

⏺Mevcut

Office 365 için Excel, Excel 2019, Excel 2016, Excel 2013, Mac için Excel 2011, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

⏺Örnek

Bildiğiniz gibi, herhangi bir argüman yok, sadece aşağıdaki gibi girebilirsiniz:

 Sub vba_date() Dim current_date As Date current_date = Date MsgBox current_date End Sub 

Date fonksiyonu ile çalıştığımızda bu örnekte olduğu gibi VBA kodlarında herhangi bir parantez vermiyoruz.

Çıktı :

VBA'da Öğrenmeniz Gereken 12 Tarih Fonksiyonu

Şimdi, önümüzdeki bölümlerde, size VBA'da sayısız amaç için kullanabileceğiniz bazı ek tarih işlevlerini göstereceğiz. VBA'da tarihle çalışmanın mümkün olan her yolunu öğrenmek için bu bölümleri okuyun. Bunları cephaneliğinizde tutmanızı öneririz. Kesinlikle bilginizi geliştirecektir.

1. VBA'da Tarih Olarak DateAdd İşlevi

VBA'da, belirli bir tarihe gün eklemek için DateAdd işlevini kullanırız. Bundan sonra, ortaya çıkan tarihi döndürür.

Sözdizimi:

DateAdd(aralık, sayı, tarih)

Argümanlar:

aralık: String ifadesi eklemek istediğiniz zaman aralığıdır.

Numara: Gerekli. Eklemek istediğiniz aralıkların sayısı olan Sayısal bir ifadedir. Pozitif (gelecekteki tarihleri almak için) veya negatif (geçmişteki tarihleri almak için) olabilir.

Tarih: Orijinal tarih/saat.

Şimdi aralık argümanları aşağıdaki ayarlara sahip olabilir:

yyyy - Yıl

q - Çeyrek

m - Ay

y - Yılın günü

d - Gün

w - Hafta içi

ww - Hafta

h - Saat

n - Dakika

s - İkinci

Kod Parçacığı :

 Sub dateadd_function() Dim result_Date As Date result_Date = DateAdd("d", 15, "1/31/2022") MsgBox result_Date End Sub 

Çıktı:

Gördüğünüz gibi, VBA'da geçerli tarihe 15 tarih ekledi.

Daha fazlasını okuyun: VBA'da IsDate Fonksiyonu Nasıl Kullanılır (3 Örnek)

2. VBA'da DateDiff Fonksiyonu

DateDiff fonksiyonu, belirtilen iki tarih arasındaki zaman aralıklarının sayısını belirleyen bir Varyant (Uzun) döndürür.

Sözdizimi :

DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )

Argümanlar:

aralık: String ifadesi, eklemek istediğiniz zaman aralığıdırString ifadesi, iki tarih arasındaki farkı hesaplamak için kullandığınız zaman aralığıdır.

tarih1,tarih2 : Gerekli; Varyant (Tarih). Hesaplamada kullanmak istediğiniz iki tarih.

haftanın ilk günü: İsteğe bağlı. Haftanın ilk gününü tanımlayan bir sabit. Sabit değilse, Pazar olduğu varsayılır.

yılın ilk haftası: İsteğe bağlı. Yılın ilk haftasını belirleyen bir sabit. Ayarlanmamışsa, ilk haftanın 1 Ocak'ın göründüğü hafta olduğu varsayılır.

Şimdi aralık argümanları aşağıdaki ayarlara sahip olabilir:

yyyy - Yıl

q - Çeyrek

m - Ay

y - Yılın günü

d - Gün

w - Hafta içi

ww - Hafta

h - Saat

n - Dakika

s - İkinci

Bu haftanin i̇lk günü argümanı bu ayarlara sahiptir:

vbSunday - Pazar gününü haftanın en önemli günü olarak kullanır.

vbMonday - Pazartesi gününü haftanın ilk günü olarak kullanır.

vbTuesday - Salı gününü haftanın ilk günü olarak işletir.

vbWednesday - Çarşamba gününü haftanın ilk günü olarak kullanır.

vbThursday - Perşembe gününü haftanın daha ziyade günü olarak işletmektedir.

vbFriday - haftanın ilk günü olarak Cuma gününü kullanır.

vbCumartesi - Cumartesi gününü haftanın ilk günü olarak işletir.

vbUseSystemDayOfTheWeek - cihazınızın ayarı tarafından tanımlanan haftanın ilk gününü kullanır.

Bu YILIN İLK HAFTASI bu ayarlara sahiptir:

vbFirstJan1 - 1 Ocak'ı içeren haftayı kullanır.

vbFirstFourDays - yeni yılda en az dört gün olan ilk haftayı istihdam eder.

vbFirstFullWeek - yılın ilk tam haftasında faaliyet gösterir.

vbSistem - cihaz konumlarınız tarafından tanımlanan yılın ilk haftasını kullanır.

Kod Parçacığı:

 Sub DateDiff_Function() Dim result As Long result = DateDiff("d", "1/31/2022", "2/12/2022") MsgBox result End Sub 

Çıktı :

Sonunda, VBA'da iki tarih arasındaki farkı döndürür.

Daha fazlasını okuyun: Excel'de VBA DateDiff Fonksiyonu Nasıl Kullanılır (9 Örnek)

3. Tarih olarak DatePart İşlevi

DatePart fonksiyonu, sağlanan bir tarihin tanımlanan kısmını içeren bir Varyant (Tamsayı) döndürür.

Sözdizimi :

DatePart(interval, date, [ firstdayofweek, [ firstweekofyear ]])

Argümanlar:

aralık: String ifadesi, eklemek istediğiniz zaman aralığıdırString ifadesi, iki tarih arasındaki farkı hesaplamak için kullandığınız zaman aralığıdır.

Tarih: Gerekli; Varyant (Tarih). Hesaplamada kullanmak istediğiniz Tarih.

haftanın ilk günü: İsteğe bağlı. Haftanın ilk gününü tanımlayan bir sabit. Sabit değilse, Pazar olduğu varsayılır.

yılın ilk haftası: İsteğe bağlı. Yılın ilk haftasını belirleyen bir sabit. Ayarlanmamışsa, ilk haftanın 1 Ocak'ın göründüğü hafta olduğu varsayılır.

Şimdi aralık argümanları aşağıdaki ayarlara sahip olabilir:

yyyy - Yıl

q - Çeyrek

m - Ay

y - Yılın günü

d - Gün

w - Hafta içi

ww - Hafta

h - Saat

n - Dakika

s - İkinci

Bu haftanin i̇lk günü argümanı bu ayarlara sahiptir:

vbSunday - Pazar gününü haftanın en önemli günü olarak kullanır.

vbMonday - Pazartesi gününü haftanın ilk günü olarak kullanır.

vbTuesday - Salı gününü haftanın ilk günü olarak işletir.

vbWednesday - Çarşamba gününü haftanın ilk günü olarak kullanır.

vbThursday - Perşembe gününü haftanın daha ziyade günü olarak işletmektedir.

vbFriday - haftanın ilk günü olarak Cuma gününü kullanır.

vbCumartesi - Cumartesi gününü haftanın ilk günü olarak işletir.

vbUseSystemDayOfTheWeek - cihazınızın ayarı tarafından tanımlanan haftanın ilk gününü kullanır.

Bu YILIN İLK HAFTASI bu değerlere sahiptir:

vbFirstJan1 - 1 Ocak'ı da içeren hafta boyunca çalışır.

vbFirstFourDays - yeni yılda en fazla dört gün cılız olan ilk haftayı kullanır.

vbFirstFullWeek - yılın ilk tam haftasını kullanır.

vbSistem - cihaz konumlarınız tarafından seçilen yılın ilk haftasını kullanır.

Kod Parçacığı :

 Sub DatePart_Function() Dim result As Integer result = DatePart("m", "10/11/2022") MsgBox result End Sub 

Çıktı :

Bu sayede VBA kodlarında bu tarih fonksiyonunu kullanabilirsiniz.

Daha fazlasını okuyun: Excel'de VBA FileDateTime Fonksiyonu Nasıl Kullanılır (3 Kullanım)

4. DateSerial Fonksiyonu

Girilen yıl, ay ve güne göre bir tarihi görmek için DateSerial fonksiyon.

Sözdizimi:

DateSerial(yıl, ay, gün)

Argümanlar:

yıl - Zorunlu alan. 100 ile 9999 arasında bir sayı veya yılı sembolize eden sayısal bir ifade.

ay - Zorunlu alan. Ayı tanımlayan bir tamsayı değeri.

gün - Zorunlu alan. Günü tanımlayan bir tamsayı değeri.

Kod Parçacığı:

 Sub date_serial() Dim date_special As Date date_special = DateSerial(2022, 1, 11) MsgBox date_special End Sub 

Çıktı :

Daha fazlasını okuyun: Excel'de VBA TimeSerial Nasıl Kullanılır (3 Örnek)

4. VBA DateValue Fonksiyonu

Şimdi, bir tarih tanımlamak için DateValue fonksiyonunu kullanıyoruz.

Sözdizimi :

DateValue(tarih)

Tartışma:

İşte, burada Tarih argümanı genellikle 1 Ocak 100 ile 31 Aralık 9999 arasındaki bir tarihi tanımlayan bir dize ifadesidir. Bununla birlikte, tarih ayrıca bu aralıktaki bir tarihi, saati veya hem tarihi hem de saati sembolize edebilen herhangi bir ifade olabilir.

Kod Parçacığı:

 Sub Date_value() Dim result As Date result = DateValue("January, 10, 2022") MsgBox result End Sub 

Çıktı :

Gördüğünüz gibi tarih fonksiyonunu VBA kodlarında başarılı bir şekilde kullandık.

5. VBA'da Day Fonksiyonu

Ayın gününü ileten, 1 ile 31 arasında gerçek bir sayı belirleyen bir Varyant (Tamsayı) döndürür.

Sözdizimi :

Gün (tarih)

Tartışma:

Gerekli tarih bağımsız değişkeni herhangi bir Varyant, sayısal ifade, dize ifadesi veya herhangi bir kombinasyondur. Bir tarihi temsil eder. Tarih Null içeriyorsa, Null da döndürür.

Kod Parçacığı:

 Sub day_function() Dim date1, the_day date1 = #12/12/2023# the_day = Day(date1) MsgBox the_day End Sub 

Çıktı:

Gördüğünüz gibi, VBA kodlarını kullanarak verilen tarihin gününün 12 olduğunu bulduk.

İlgili İçerik: Excel'de VBA Format Fonksiyonu (Örneklerle 8 Kullanım)

6. Tarih olarak VBA Ay İşlevi

Yılın ayını ileten, 1 ile 12 arasında gerçek bir sayı tanımlayan bir Varyant (Tamsayı) döndürür.

Sözdizimi :

Ay (tarih)

Tartışma:

Gerekli tarih bağımsız değişkeni herhangi bir Varyant, sayısal ifade, dize ifadesi veya herhangi bir kombinasyondur. Bir tarihi temsil eder. Tarih Null içeriyorsa, Null da döndürür.

Kod Parçacığı:

 Sub month_function() Dim date1, the_month date1 = #12/12/2023# the_month = Month(date1) MsgBox the_month End Sub 

Çıktı:

İlgili İçerik: Excel'de VBA Right Fonksiyonu Nasıl Kullanılır (6 Örnek)

Benzer Okumalar

  • VBA Environ Fonksiyonu Nasıl Kullanılır (4 Örnek)
  • Excel'de VBA ve Fonksiyon Nasıl Kullanılır (4 Örnek)
  • Excel'de VBA If - Then - Else Deyimi (4 Örnek)
  • Excel'de VBA Abs Fonksiyonu Nasıl Kullanılır (9 Örnek)
  • Excel VBA'da Concatenate Nasıl Kullanılır (4 Yöntem)

7. MonthName Fonksiyonu

Belirtilen ayı gösteren bir dize döndürür.

Sözdizimi :

MonthName(month, [ abbreviate ])

Tartışma:

Ay: Zorunludur. Ayın sayısal başlığı. Örneğin, Ocak 1, Şubat 2, vb.

kısalt: İsteğe bağlıdır. Ay adının kısaltılıp kısaltılmayacağını gösteren boolean değer. Atlanırsa, varsayılan değer False'dir ve bu da ay adının kısaltılmayacağını gösterir.

Kod Parçacığı:

 Sub AyAdı_Fonksiyonu() Dim ay_adı As String ay_adı = AyAdı(9, True) MsgBox ay_adı End Sub 

Çıktı:

Gördüğünüz gibi, bu VBA Tarih Fonksiyonu ile ay adını bulduk.

8. Hafta İçi İşlevi

Bu bir Varyant ( Tamsayı ) haftanın gününü ifade eden gerçek bir sayıya sahiptir.

Sözdizimi :

Weekday(date, [ firstdayofweek ])

Tartışma:

Tarih: Gerekli tarih bağımsız değişkeni herhangi bir Varyant, sayısal ifade, dize ifadesi veya herhangi bir kombinasyondur. Bir tarihi temsil eder. Tarih Null içeriyorsa, Null da döndürür.

haftanın ilk günü: İsteğe bağlı. Haftanın ilk gününü tanımlayan bir sabit. Sabit değilse, Pazar olduğu varsayılır.

Bu haftanin i̇lk günü argümanı bu ayarlara sahiptir:

vbSunday - Pazar gününü haftanın en önemli günü olarak kullanır.

vbMonday - Pazartesi gününü haftanın ilk günü olarak kullanır.

vbTuesday - Salı gününü haftanın ilk günü olarak işletir.

vbWednesday - Çarşamba gününü haftanın ilk günü olarak kullanır.

vbThursday - Perşembe gününü haftanın daha ziyade günü olarak işletmektedir.

vbFriday - haftanın ilk günü olarak Cuma gününü kullanır.

vbCumartesi - Cumartesi gününü haftanın ilk günü olarak işletir.

vbUseSystemDayOfTheWeek - cihazınızın ayarı tarafından tanımlanan haftanın ilk gününü kullanır.

Dönüş Parametreleri

Şimdi, bu fonksiyon bir tam sayı döndürür. Dolayısıyla, bu tam sayıların anlamı aşağıdaki gibidir:

1 - Pazar

2 - Pazartesi

3 - Salı

4 - Çarşamba

5 - Perşembe

6 - Cuma

7 - Cumartesi

Kod Parçacığı:

 Sub Weekday_Function() Dim week_day As Integer week_day = Weekday("4/27/2022") MsgBox week_day End Sub 

Çıktı:

Gördüğünüz gibi, VBA tarih işlevi 4 döndürür. Bu da Çarşamba anlamına gelir.

İlgili İçerik: Excel VBA'da Fix Fonksiyonu Nasıl Kullanılır (4 Örnek)

9. VBA WeekdayName Fonksiyonu

Haftanın sınırlı gününü gösteren bir dize döndürür.

Sözdizimi :

WeekdayName(weekday, abbreviate, firstdayofweek)

Tartışma:

Hafta içi: Zorunlu alan Haftanın günü için sayısal tanımlama Her günün sayısal değeri firstdayofweek ayarına bağlıdır.

kısalt: Haftanın günü adının kısaltılıp kısaltılmayacağını belirten Boolean değeridir. Atlanırsa, varsayılan değer False'dir ve haftanın günü adının kısaltılmayacağını veya kısaltılmayacağını belirtir.

haftanın ilk günü: İsteğe bağlı alan. Haftanın ilk gününü belirten sayısal değer. Çeşitli değerlere sahip olabilir.

Bu haftanin i̇lk günü argümanı sonraki değerlere sahip olabilir:

vbSunday - Pazar gününü haftanın en önemli günü olarak kullanır.

vbMonday - Pazartesi gününü haftanın ilk günü olarak kullanır.

vbTuesday - Salı gününü haftanın ilk günü olarak işletir.

vbWednesday - Çarşamba gününü haftanın ilk günü olarak kullanır.

vbThursday - Perşembe gününü haftanın daha ziyade günü olarak işletmektedir.

vbFriday - haftanın ilk günü olarak Cuma gününü kullanır.

vbCumartesi - Cumartesi gününü haftanın ilk günü olarak işletir.

vbUseSystemDayOfTheWeek - cihazınızın ayarı tarafından tanımlanan haftanın ilk gününü kullanır.

Kod Parçacığı:

 Sub WeekdayName_Function() Dim weekday_name As String weekday_name = WeekdayName(6) MsgBox weekday_name End Sub 

Çıktı:

Gördüğünüz gibi, yukarıdaki VBA kodları haftanın günü adını gösterir.

İlgili İçerik: Excel'de VBA WeekdayName Fonksiyonu Nasıl Kullanılır (2 Örnek)

10. VBA'da Yıl Fonksiyonu Tarih

Yılı ifade eden gerçek bir sayıya sahip bir Varyant (Tamsayı) döndürür.

Sözdizimi :

Yıl (tarih)

Tartışma:

Gerekli tarih bağımsız değişkeni herhangi bir Varyant, sayısal ifade, dize ifadesi veya herhangi bir kombinasyondur. Bir tarihi temsil eder. Tarih Null içeriyorsa, Null da döndürür.

Kod Parçacığı:

 Sub year_function() Dim date1, the_year date1 = #12/12/2023# the_year = Year(date1) MsgBox the_year End Sub 

Çıktı:

Burada, VBA kodunu uyguladıktan sonra verilen tarihin yılını görebilirsiniz.

Daha fazlasını okuyun: Excel'de VBA Değiştirme Fonksiyonu Nasıl Kullanılır (11 Uygulama)

11. FormatDateTime İşlevi

Bu fonksiyon, tarih veya saat olarak biçimlendirilmiş bir ifade döndürür.

Sözdizimi :

FormatDateTime(Date, [ NamedFormat ])

Tartışma:

Tarih: Zorunlu alan. Biçimlendirilecek tarih ifadesi.

NamedFormat: Bu isteğe bağlıdır. Tarih/saat biçimini gösteren sayısal bir değerdir. vbGeneralDate .

Bu NamedFormat aşağıdaki değerlere sahip olabilir:

vbGeneralDate(0): Bir tarih ve/veya saat gösterin. Tarih kısmı varsa, kısa tarih olarak ifade edin. Saat kısmı varsa, uzun saat olarak görüntüleyin. Varsa her iki kısım da gösterilir.

vbLongDate(1): Bilgisayarınızın bölgesel ayarlarında seçilen uzun tarih yapılandırmasını kullanarak bir tarih tasvir edin.

vbShortDate(2): Bilgisayarınızın bölgesel ayarlarında belirtilen kısa tarih biçimini çalıştırarak bir tarih görüntüleyin.

vbLongTime(3): Bilgisayarınızın bölgesel ayarlarında belirtilen saat biçimini kullanarak bir saat gösterin.

vbShortTime(4): Saati 24 saat biçimini (ss:dd) kullanarak görüntüleyin.

Kod Parçacığı:

 Sub FormatDateTime_Function() d = ("2022-02-03 18:25") MsgBox ("Format 1 : " & FormatDateTime(d)) MsgBox ("Format 2 : " & FormatDateTime(d, 1)) MsgBox ("Format 3 : " & FormatDateTime(d, 2)) MsgBox ("Format 4 : " & FormatDateTime(d, 3)) MsgBox ("Format 5 : " & FormatDateTime(d, 4)) End Sub 

Çıktı:

Kodu çalıştırdıktan sonra aşağıdaki iletişim kutularını göreceksiniz:

Burada, VBA'daki tüm saat ve tarih biçimlerini görebilirsiniz.

Daha fazlasını okuyun: VBA TimeValue Fonksiyonu Nasıl Kullanılır (6 İlgili Örnek)

12. VBA CDate İşlevi

İşlev, geçerli bir tarih ve saat ifadesini tipik bir tarihe dönüştürür.

Sözdizimi :

CDate(tarih)

Tartışma:

Gerekli tarih bağımsız değişkeni herhangi bir Varyant, sayısal ifade, dize ifadesi veya herhangi bir kombinasyondur. Bir tarihi temsil eder. Tarih Null içeriyorsa, Null da döndürür.

Kod Parçacığı:

 Sub Cdate_Function() Dim date1 As Variant Dim date2 As Variant date1 = CDate("Mar 11 2022") date2 = CDate("29 Sep 2023") MsgBox ("İlk tarih : " & date1 & vbCrLf & "İkinci tarih : " & date2) End Sub 

Çıktı:

Gördüğünüz gibi, VBA kodumuz Excel'in tipik bir tarih biçimini döndürdü.

İlgili İçerik: Excel'de VBA DIR Fonksiyonu Nasıl Kullanılır (7 Örnek)

VBA Tarih Örnekleri

İlerleyen bölümlerde, VBA kullanarak tarihle ilgili üç pratik ve uygun örnek sunacağız. Bu örnekler tarihle ilgili problemleri ve çözümlerini içerecektir. VBA bilginizi geliştirmek için tüm bu örnekleri okumanızı ve uygulamanızı öneririz. Haydi başlayalım.

1. VBA'da Tarih Kullanarak Gecikme Günlerini Hesaplama

Overdue kelimesinin anlamı geç kalmak veya son teslim tarihini geçmektir. Geç kalmak, özellikle son teslim tarihini geçmek veya bir gereksinimi karşılamak için çok geç kalmak.

Pazar günü teslim etmeniz gereken bir ödeviniz olduğunu varsayalım. Ancak bugün Salı ve ödevinizi teslim etmediniz. Buna iki gecikmiş gün diyebilirsiniz.

Aşağıdaki veri setine bir göz atın:

Burada, bazı öğrencilerden ve ödev teslim tarihlerinden oluşan bir veri kümemiz var. Son teslim tarihini görebilirsiniz. Amacımız, teslim tarihine göre gecikme tarihini bulmaktır. Şimdi, bunu başarmak için aşağıdaki adımları izleyin:

📌 Adımlar

  • İlk olarak, tuşuna basın Alt+F11 VBA düzenleyicisini açmak için klavyenizdeki tuşuna basın.
  • Ardından, şunları seçin Insert> Modül .

  • Bundan sonra, aşağıdaki kodu yazın:
 Sub overdue_days() Dim cell As Integer Dim J As Integer Dim due_date As Date due_date = #1/11/2022# For cell = 5 To 11 If Cells(cell, 4).Value = due_date Then Cells(cell, 5).Value = "Submitted Today" ElseIf Cells(cell, 4).Value> due_date Then J = due_date - Cells(cell, 4).Value J = Abs(J) Cells(cell, 5).Value = J & " Overdue Days" Else Cells(cell, 5).Value = "No Overdue" End If Next cellEnd Sub 

Biz kullandık ABS fonksiyonu eksi işaretini kaldırmak için.

  • Ardından dosyayı kaydedin.
  • Bundan sonra, tuşuna basın Alt+F8 Makro iletişim kutusunu açmak için klavyenizde.
  • Ardından, şunları seçin
  • Daha sonra Koşmak .

Gördüğünüz gibi, VBA'da tarihi başarıyla kullandık ve gecikmiş günleri bulduk.

Benzer Okumalar

  • Excel'de VBA Boşluk Fonksiyonu Nasıl Kullanılır (3 Örnek)
  • Excel'de VBA ChDir İşlevini Kullanın (4 Uygun Örnek)
  • Excel VBA'da IsNull Fonksiyonu Nasıl Kullanılır (5 Örnek)
  • Excel'de VBA While Wend Deyimi Kullanımı (4 Örnek)
  • Excel'de VBA'da Bir Sub Nasıl Çağrılır (4 Örnek)

2. VBA kullanarak Tarihten Doğum Yılını Bulma

Şimdi, belirli bir tarihten itibaren Yılı bulabilirsiniz. Bunu bulmak oldukça basittir.

Aşağıdaki veri setine bir göz atın:

Burada, bazı kişilerin doğum tarihlerini görebilirsiniz. Amacımız, tarihten doğum yılını ve ayrıca Elizabeth'in son girişinin doğum yılını çıkarmaktır.

📌 Adımlar

  • İlk olarak, tuşuna basın Alt+F11 VBA düzenleyicisini açmak için klavyenizdeki tuşuna basın.
  • Ardından, şunları seçin Insert>Modül .

  • Bundan sonra, aşağıdaki kodu yazın:
 Sub find_year() Dim last_entry As Date Dim cell As Integer For cell = 5 To 11 Cells(cell, 4).Value = Year(Cells(cell, 3).Value) If cell = 11 Then last_entry = Cells(cell, 3).Value End If Next cell MsgBox "Son girişin doğum yılı: " & Year(last_entry) End Sub 
  • Ardından dosyayı kaydedin.
  • Bundan sonra, tuşuna basın Alt+F8 Makro iletişim kutusunu açmak için klavyenizde.
  • Ardından, şunları seçin find_year .
  • Daha sonra Koşmak .

Son olarak, her tarihten doğum yılını çıkarmada başarılı olduğumuzu görebilirsiniz. Ayrıca, Excel'deki VBA tarihini kullanarak son girişin doğum yılını bulduk.

3. VBA kullanarak Tarihe Gün Ekleme

Şimdi, tarih değişkenini tanımlayabilir ve tarihi eklemek için kullanabilirsiniz. Bunu gerçekleştirmek için DateAdd Bu işlevi belirli bir tarihe gün, ay ve yıl eklemek için kullanabilirsiniz.

Aşağıdaki veri setine bir göz atın:

Burada, bazı isimler ve bunlara bağlı bazı tarihler görebilirsiniz. Şimdi amacımız, verilen bu tarihlere beş gün daha eklemek ve yeni bir tarih oluşturmaktır.

📌 Adımlar

  • İlk olarak, tuşuna basın Alt+F11 VBA düzenleyicisini açmak için klavyenizdeki tuşuna basın.
  • Ardından, şunları seçin Insert>Modül .

  • Bundan sonra, aşağıdaki kodu yazın:
 Sub add_days() Dim first_date As Date Dim second_date As Date Dim cell As Integer For cell = 5 To 11 first_date = Cells(cell, 3).Value second_date = DateAdd("d", 5, first_date) Cells(cell, 4).Value = second_date Next cell End Sub 

Burada, DateAdd işlevinde bağımsız değişken olarak "d" kullandık. Sırasıyla yıl veya ay eklemek için bunu "y" veya "m" olarak değiştirebilirsiniz,

  • Ardından dosyayı kaydedin.
  • Bundan sonra, tuşuna basın Alt+F8 Makro iletişim kutusunu açmak için klavyenizde.
  • Ardından, seçin.
  • Daha sonra Koşmak .

Gördüğünüz gibi, VBA'da tarihi kullanarak bir tarihe günleri başarıyla ekledik. Şimdi, kodu seçiminize göre değiştirebilirsiniz.

💬 Unutulmaması Gerekenler

VBA Tarih işlevi aslında şu şekilde çalışır BUGÜN işlevi Excel'de.

VBA DATE, excel'de uçucu olmayan bir işlevdir. Bu, güç kaynağında bir kesinti olsa bile verileri koruyacağı anlamına gelir.

Temel olarak, VBA uygulama sırasında Tarih değerlerini DATE olarak kaydeder.

Bu nedenle, bir tarih değişkenini dize/metin olarak atamaya çalışırsanız, bu bir hataya neden olur.

Tarih için varsayılan değer 1 Ocak 0001 tarihinde 0:00:00'dır (gece yarısı).

Sonuç

Sonuç olarak, umarım bu eğitim size VBA kodlarında Tarih hakkında yararlı bilgiler sağlamıştır. Tüm bu talimatları öğrenmenizi ve veri kümenize uygulamanızı öneririz. Alıştırma çalışma kitabını indirin ve bunları kendiniz deneyin. Ayrıca, yorum bölümünde geri bildirimde bulunmaktan çekinmeyin. Değerli geri bildirimleriniz bizi bu gibi eğitimler oluşturmak için motive ediyor.

Web sitemizi kontrol etmeyi unutmayın Exceldemy.com Excel ile ilgili çeşitli sorunlar ve çözümler için.

Yeni yöntemler öğrenmeye ve büyümeye devam edin!

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.