Herhangi Bir Tarihten Sonraki İlk Pazartesiyi Bulma

Herhangi Bir Tarihten Sonraki İlk Pazartesiyi Bulma

Herhangi Bir Tarihten Sonraki İlk Pazartesiyi Bulma isimli içerikte, ilgili işlemin VBA kodları ile nasıl yapacağınızı öğreten bir Hazır Makro Kodu yer almaktadır.









Hazır Kod​

VBA:
Function FindNextMonday(startDate As Date) As Date
    Dim dayOfWeek As Integer
    dayOfWeek = Weekday(startDate)
   
    ' Weekday fonksiyonu, varsayılan olarak Pazar gününü 1 olarak döndürür
    ' Pazartesi günü için gerekli gün sayısını hesapla
    If dayOfWeek <> 2 Then
  FindNextMonday = startDate + (9 - dayOfWeek)
    Else
  FindNextMonday = startDate
    End If
End Function

Sub ShowNextMonday()
    Dim inputDate As Date
    Dim resultDate As Date
   
    ' Kullanıcıdan bir tarih al
    inputDate = Application.InputBox("Lütfen bir tarih giriniz (gg/aa/yyyy):", Type:=1)
   
    ' Fonksiyonu çağırarak sonucu hesapla
    resultDate = FindNextMonday(inputDate)
   
    ' Sonucu göster
    MsgBox "Girdiğiniz tarihten sonra gelen ilk Pazartesi: " & Format(resultDate, "dddd, mmmm dd, yyyy")
End Sub

Açıklama​

Bu kod iki bölümden oluşmaktadır:

[*]FindNextMonday Fonksiyonu:
  • startDate parametresi olarak bir tarih alır.
  • Weekday fonksiyonu kullanılarak startDate tarihinin haftanın günü bulunur.
  • Pazartesi günü haftanın ikinci günü olduğu için (Weekday fonksiyonunda Pazar 1 olarak sayılır), sonraki Pazartesi gününe kadar geçecek gün sayısını hesaplar.
  • Eğer startDate zaten Pazartesi günü ise, o günü döndürür.
  • Aksi halde, startDate'den itibaren sonraki Pazartesi'ye kadar olan gün sayısını ekler ve bu tarihi döndürür.
  • ShowNextMonday Makrosu:
    • Kullanıcıdan InputBox ile bir tarih alır.
    • Alınan tarihi FindNextMonday fonksiyonuna gönderir ve sonucu resultDate değişkenine atar.
    • Sonucu, bir mesaj kutusunda gösterir, böylece kullanıcı girdiği tarihten sonra gelen ilk Pazartesi gününü görebilir.


      Bu kod parçası, planlama ve zamanlama görevleri için kullanışlı olabilir, özellikle iş günlerinin başlangıç tarihlerini belirlemek gerektiğinde.

      Faydalanılması temennisiyle
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst