EXCEL VBA'DA DATE FONKSİYONU

 

Excel VBA Tarih işlevi biçimi, VBA'da geçerli sistem tarihini Tarih veri türü olarak döndüren yerleşik bir işlevdir. Tarih işlevi herhangi bir argüman gerektirmez ve Excel VBA'da geçerli tarihi almak için kullanılabilir. VBA Tarih İşlevinin sağladığı değeri döndürür.


Date işlevi, tarihler arasındaki farkı bulmaktan, geçerli saati döndürmeye, geçerli tarihi yazdırmaya ve Date'in yardımıyla yalnızca tarihin ayını, gününü veya yılını yazdırmaya kadar farklı kullanım durumlarına sahiptir. VBA Date işlevi gün ay yıl biçimi genellikle kullanıcıdan gelen argümanlar olarak kabul edilir. Örneğin, aşağıdaki kodu ele alalım:

VBA Tarih Fonksiyonu Giriş

Bugünün tarihini Hemen sekmesine yazdıracaktır.

VBA Tarih Fonksiyonu Giriş - Çıktı

ÖNEMLİ NOKTALAR

  • VBA Tarih fonksiyonu belirtilen yıl, ay ve gün bileşenlerine dayalı bir tarih değeri oluşturur.
  • Date alt türüne sahip Variant veri türünü döndürür.
  • Date fonksiyonu, VBA kodu içerisinde dinamik olarak tarihler üretir.
  • Tarih bazlı hesaplamalar, karşılaştırmalar ve manipülasyonlar yapılabilir.
  • Tarihler arasındaki farkı hesaplamak veya tarih bileşenlerini çıkarmak gibi görevler için Tarih işlevini diğer tarih işlevleriyle birlikte kullanın.

Excel VBA DATE fonksiyonu nasıl kullanılır?

VBA DATE fonksiyonuna erişmek için onu uygulayacak gerekli kodu yazın ve hazır bulundurun.

Adım 1: Excel'deki araç çubuğundaki "Geliştirici" sekmesine gidin ve "Visual Basic" seçeneğine tıklayın. Şimdi, VBA Editörü fonksiyonlar ve Alt prosedürler eklemek için açılır. Ardından, yeni bir modül veya boş sayfa oluşturmak için "Ekle" ve "Modül" düğmelerine tıklayın.

Geliştirici - Visual Basic
Ekle - Modül

Adım 2: VBA DATE Fonksiyonu referans kütüphanesini kullanarak, belirli bir tarih ile bugünün tarihi arasındaki gün sayısı farkını bulmamız gereken bir örneği ele alalım.

Adım 3: Tarihler arasındaki farkı yazdıracak bir alt rutin başlatın.

VBA Tarih Fonksiyonu - Kullanım - Adım 3

Adım 4: DATE fonksiyonunun değerini tutacak “currentDate”, verilen tarihi tutacak “futureDate” ve iki tarih arasındaki farkı tutacak “daysDifference” olmak üzere üç değişken tanımlayın.

VBA Tarih Fonksiyonu - Kullanım - Adım 4

Adım 5: “currentDate” fonksiyonunu DATE fonksiyonundan dönen değerle başlatın ve “futureDate” fonksiyonunu değerini vererek başlatın.

VBA Tarih Fonksiyonu - Kullanım - Adım 5

Adım 6: “futureDate” ve “currentDate” değerlerini çıkararak gün farkını yazdırın ve yazdırın.

VBA Tarih Fonksiyonu - Kullanım - Adım 6

Burada vbNewLine, tüm değerlerin aynı Debug.Print fonksiyonunda yazdırılmasını sağlar ve çıktıyı yeni bir satıra yazdırır.

Kod:

Sub DateExample()
Dim currentDate As Date
Dim futureDate As Date
Dim daysDifference As Integer
currentDate = Date
futureDate = currentDate + 7
daysDifference = futureDate – currentDate
Debug.Print “Current Date: ” & currentDate & vbNewLine & _
“Future Date: ” & futureDate & vbNewLine & _
“Difference between the dates: ” & daysDifference
End Sub

Adım 6: F5 veya Çalıştır düğmesine basarak kodu çalıştırın. Yukarıda belirtildiği gibi yazdırılacaktır.

VBA Tarih Fonksiyonu - Kullanım - Adım 6 - Çıktı

Örnekler

VBA DATE bölümünü ve kullanım durumlarını anlamanıza yardımcı olacak birkaç örnek aşağıda verilmiştir.

Örnek 1

Kullanıcıdan gelen belirli bir giriş tarihinin geçmişte, şimdiki zamanda veya gelecekte olup olmadığını kontrol etmek için bir VBA işlemi oluşturduğunuz bir örneği düşünün. Kullanıcı, “InputBox()” VBA işlevini kullanarak tarih değerini kabul eder .

Adım 1: Verilen tarihin geçmiş, şimdiki zaman veya gelecek olup olmadığını kontrol eden bir alt rutin tanımlayın.

VBA Tarih Fonksiyonu - Örnek 1 - Adım 1

Adım 2: 'inputDate' ve 'currentDate' adlı iki değişkeni "Date" veri türü olarak bildirin. "inputDate" değişkeni, kullanıcıdan tarih değişkenini kabul etmek için kullanılır ve "currentDate" değişkeni, bugün VBA Tarih fonksiyonu tarafından verilen Tarih değerini depolamak için kullanılır.

VBA Tarih Fonksiyonu - Örnek 1 - Adım 2

Adım 3: “inputDate” için kullanıcıdan özel girdi kabul edin. Tarih Fonksiyonunun değerini depolayarak “currentDate”i başlatın.

Örnek 1 - Adım 3

Adım 4: Verilen tarihin geçerli tarihten küçük olup olmadığını kontrol etmek için bir If-Else ifadesi başlatın; o zaman, "geçmiş" olarak tanımlanacaktır. Değilse, "gelecek" değerini döndürür. Değilse, "bugün" değerini döndürür.

VBA Tarih Fonksiyonu - Örnek 1 - Adım 4

Kod:

Sub CheckDate()
Dim inputDate As Date
Dim currentDate As Date
inputDate = InputBox(“Bir tarih girin (gg/aa/yyyy):”)
currentDate = Date
If inputDate < currentDate Then Debug.Print “Girilen tarih geçmiştedir.” ElseIf inputDate > currentDate Then Debug.Print
“Girilen tarih gelecektedir.”
Else
Debug.Print “Girilen tarih bugündür.”
End If
End Sub

Adım 5: Kodu çalıştırmak için VBA araç çubuğundaki yeşil ok düğmesine tıklayın.

VBA Tarih Fonksiyonu - Örnek 1 - Adım 5

Adım 6: VBA kodunu çalıştırın . Çıktı Immediate sekmesinde yazdırılır.

VBA Tarih Fonksiyonu - Örnek 1 - Adım 6 - Msgbox
VBA Tarih Fonksiyonu - Örnek 1 - Çıktı

Örnek 2

Diyelim ki yaşınızı Excel VBA kullanarak hesaplamak istiyorsunuz. Yaşınızı döndürmek için doğum yılınız ve geçerli yılınızı çıkararak bulabilirsiniz.

Adım 1: Yaşınızı hesaplamak için yeni bir alt program oluşturun.

VBA Tarih Fonksiyonu - Örnek 2 - Adım 1

Adım 2: 'dob' ve 'age' adında iki değişken tanımlayın. Bu değişkenlerin veri türü Tarih'tir. Burada 'dob' doğum tarihinizi girmek için kullanılır ve age ise yaşınızı saklamak için kullanılan tam sayı değeridir.

VBA Tarih Fonksiyonu - Örnek 2 - Adım 2

Adım 3: dateRange değerini verilen tablonun aralığı olarak başlatın (tercih edilen aralığa göre değiştirilebilir) ve counter değerini 0 olarak ayarlayın.

VBA Tarih Fonksiyonu - Örnek 2 - Adım 3

Adım 4: “age” değişkeni, “dob” değişkeni ile bugünkü VBA DATE fonksiyonu arasındaki farktır.

VBA Tarih Fonksiyonu - Örnek 2 - Adım 4

MsgBox fonksiyonunu kullanarak “yaş” yazdırın. Yaşı bir Mesaj Kutusu açılır penceresiyle yazdıracaktır.

Kod:

Sub CalculateAge()
Dim dob As Date
Dim age As Integer
dob = InputBox(“Doğum tarihinizi girin (gg/aa/yyyy):”)
age = DateDiff(“yyyy”, dob, Date)
MsgBox “Yaşınız: ” & age
End Sub

Adım 5: Kodu çalıştırmak için VBA araç çubuğundaki yeşil ok düğmesine tıklayın.

VBA Tarih Fonksiyonu - Örnek 1 - Adım 5

Adım 6: Ortaya çıkan çıktı aşağıdaki gibidir.

VBA Tarih Fonksiyonu - Örnek 2 - Adım 6
VBA Tarih Fonksiyonu - Örnek 2 - Adım 6 - Çıktı

Örnek #3

Belirli bir tarihin yılını, ayını ve gününü VBA Date Function day month year olarak ayrı ayrı yazdırdığınız bir örneği ele alalım. Bu, VBA DatePart() Function kullanılarak yapılabilir .

Adım 1: Bir tarihin bileşenlerini ayrı ayrı bölüp yazdırmak için bir alt rutin başlatın.

Örnek 3 - Adım 1

Adım 2: “myDate” adlı bir Tarih değişkeni başlatın ve buna VBA Tarih fonksiyonu tarafından verilen değeri atayın.

Örnek 3 - Adım 2

Adım 3: Tarihin yılını bir değişkene atayın.

Örnek 3 - Adım 3

Adım 4: Verilen tarihin ay kısmını bir değişkene atayın.

Örnek 3 - Adım 4

Adım 5: Verilen tarihin gün kısmını bir değişkene atayın.

Örnek 3 - Adım 5

Adım 6: MsgBox fonksiyonu ile üç değişkeni de yazdırın.

Örnek 3 - Adım 6

VbNewLine yardımıyla tüm değerleri aynı MsgBox içerisinde ama farklı satırlarda yazdıracaktır.

Kod:

Sub ExtractDateParts()
Dim myDate As Date
myDate = Date
Dim yearPart As Integer
yearPart = DatePart(“yyyy”, myDate)
Dim monthPart As Integer
monthPart = DatePart(“m”, myDate)
Dim dayPart As Integer
dayPart = DatePart(“d”, myDate)
MsgBox “Yıl: ” & yearPart & vbNewLine & _
“Ay: ” & monthPart & vbNewLine & _
“Gün: ” ​​& dayPart
End Sub

Adım 7: Kodu çalıştırmak için VBA araç çubuğundaki yeşil ok düğmesine tıklayın.

Örnek 1 - Adım 5

Adım 8: Kodu çalıştırdıktan sonra çıktı aşağıda gösterilmektedir.

Örnek 3 - Adım 8

Dikkat Edilmesi Gereken Önemli Noktalar

  • Güncel sistem tarihini almak için Tarih işlevini kullanın.
  • DateAdd fonksiyonu bir tarihe belirtilen bir zaman aralığını ekleyebilir.
  • DateDiff fonksiyonu iki tarih arasındaki farkı hesaplamak için kullanılır.
  • Belirli bir tarih parçasını çıkarmak için DatePart fonksiyonunu kullanırız.
  • Ayrı yıl, ay ve gün bileşenlerinden bir tarih değeri oluşturmak için DateSerial işlevini kullanın.
  • Tarih fonksiyonu geçerli sistem saatini alamaz.
  • Geçersiz tarih biçimleri veya girdilerle zaman tabanlı hesaplamalar yapmak için Tarih işlevini kullanmayın.
  • Tarih işleviyle çalışırken tarih biçimi tutarlılığına, geçersiz tarihlerin işlenmesine ve bölgesel ayarların dikkate alınmasına dikkat edin.


Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...