EXCEL VBA'DA DAY FONKSİYONU

 

VBA'da, Day işlevi belirtilen bir tarihten gün bileşenini çıkarmak için kullanılır. Bir argüman olarak bir tarih alır ve ayın gününü temsil eden bir tam sayı döndürür. Aşağıdaki örneğe bakın:


Excel VBA Gün İşlevi 1

VBA Day işlevini kullanarak iki basamaklı bir alt prosedür tanımlayın ve verilen tarihten “GG” bileşenini çıkarın. Sonuç, gösterildiği gibi Hemen sekmesinde yazdırılır. Tarih biçimi “AA/GG/YYYY”dir.

Excel VBA Gün İşlevi 1-1

ÖNEMLİ NOKTALAR

  • VBA'daki Day fonksiyonu bir tarihten gün bileşenini çıkarmak için kullanılır.
  • Bir argüman olarak bir tarih alır ve ayın gününü temsil eden bir tam sayı döndürür.
  • Çıkarılan gün, zaman bileşenini içermez.
  • Geçersiz tarihleri ​​işleyemediğinden, fonksiyonu kullanmadan önce tarihleri ​​doğrulamak önemlidir.
  • Zaman bileşenleriyle çalışırken, Day fonksiyonunu uygulamadan önce zaman kısmını kaldırmak için DateValue fonksiyonunu kullanmayı düşünün.

Sözdizimi

VBA Day fonksiyonunu kullanmanın söz dizimi gösterildiği gibidir.

Day(date)

Neresi,

  • tarih(date): Tarih değerini tutan değişken.

EXCEL VBA Day Fonksiyonu Nasıl Kullanılır?

Aşağıdaki örneği inceleyerek VBA Day fonksiyonunun nasıl kullanılacağını öğrenebilirsiniz.

Adım 1: Excel Çalışma Kitabında, Excel araç çubuğundaki “Geliştirici” bölümüne gidin.

VBA Day fonksiyonu nasıl kullanılır 1

“ Geliştirici ” altında “Visual Basic”i seçerek VBA Düzenleyicisini açın.

VBA Day fonksiyonu nasıl kullanılır 1-1

VBA Editörünün araç çubuğundan “Ekle”yi seçin, ardından kod yazmak için yeni bir modül açmak üzere “Modül”e gidin.

VBA Day fonksiyonu 1-2 nasıl kullanılır

Adım 2: Haftanın geçerli gününü görüntüleyen bir alt rutin oluşturun.

VBA Day fonksiyonu 1-3 nasıl kullanılır

Adım 3: Tarih değerini depolamak için bir Tarih değişkeni başlatın.

VBA Day fonksiyonu 1-4 nasıl kullanılır

Adım 4: Bugünün tarihini daha önce tanımlanan değişkene atayın.

VBA Day fonksiyonu 1-5 nasıl kullanılır

Adım 5: Tarih değerinin “gün” bileşenini depolamak için bir tamsayı değişkeni başlatın.

VBA Day fonksiyonu 1-6 nasıl kullanılır

Adım 6: Tarih değeri üzerinde VBA Day fonksiyonunu çağırın ve bunu bir tamsayı değişkeninde saklayın.

VBA Day fonksiyonu 1-7 nasıl kullanılır

Adım 7: Haftanın gününü yazdırın. Tarih değerini “DDDD” biçimini kullanarak VBA Biçimlendirme işlevini kullanarak biçimlendirin. Haftanın gününü yazdıracaktır.

VBA Day fonksiyonu 1-8 nasıl kullanılır

Adım 8: MsgBox fonksiyonunu kullanarak üç formatı da yazdırın.

VBA Day fonksiyonu 1-9 nasıl kullanılır

Kod:

Sub AnotherExample()

    Dim currentDate As Date

    currentDate = Date

    Dim dayOfMonth As Integer

    dayOfMonth = day(currentDate)

    MsgBox “Today is ” & Format(currentDate, “DDDD”)

    MsgBox “Today is the ” & dayOfMonth & “th day of the month.”

End Sub

Adım 9: Programı çalıştırmak için Excel VBA Modülündeki etkinlik çubuğundaki “F5” veya “Çalıştır” simgesine tıklayın. Excel'deki farklı tarih biçimleriyle bir Mesaj Kutusu yazdırır .

VBA Day fonksiyonu 1-10 nasıl kullanılır
VBA Day fonksiyonu 1-11 nasıl kullanılır

Artık Excel VBA'da Gün işlevini nasıl kullanacağınızı öğrendiğinize göre, aşağıdaki daha fazla örneği inceleyebilirsiniz.


Örnekler

VBA Day fonksiyonunun çeşitli amaçlar için nasıl kullanılacağını öğrenin.

Örnek 1

VBA Day fonksiyonunun iki basamaklı sonucunu kullanarak, günün çift sayı mı yoksa tek sayı mı olduğunu bulabilirsiniz. Bir giriş tarihi alın, ardından gün numarasını bulun ve VBA Mod fonksiyonunu kullanarak 2'ye bölünebilir olup olmadığını kontrol edin.

Adım 1: Verilen günün tek gün mü yoksa çift gün mü olduğunu bulmak için bir alt program oluşturun.

VBA Gün İşlevi - Örnek 1

Adım 2: Kullanıcıdan gelen tarih değerini saklamak için bir Tarih değişkeni tanımlayın.

VBA Gün İşlevi - Örnek 1-1

Adım 3: Kullanıcıdan tarihi alın ve yukarıda tanımlanan tarih değişkenine kaydedin.

VBA Gün İşlevi - Örnek 1-2

Adım 4: Verilen tarihin geçerli olup olmadığını kontrol etmek için bir If-Else koşulu kullanın. Geçerli değilse, bir hata Mesajı kutusu bildirin ve kodun geri kalanının yürütülmemesi için alt dizinden çıkın.

VBA Gün İşlevi - Örnek 1-3

Adım 5: Tarih değerinden gün bileşenini depolamak için bir tamsayı değişkeni tanımlayın.

VBA Gün İşlevi - Örnek 1-4

Adım 6: Kullanıcıdan gelen tarihte VBA Date fonksiyonunu çağırın ve VBA Day fonksiyonundan gelen sonucu tam sayı değişkenine kaydedin.

VBA Gün İşlevi - Örnek 1-5

Adım 7: Bir If-koşullu ifadesi kullanarak, gün bileşeninin 2'ye bölünebilir olup olmadığını kontrol edin. Eğer öyleyse, kullanıcıya günün çift olduğunu söyleyen bir Mesaj Kutusu oluşturun.

VBA Gün İşlevi - Örnek 1-6

Adım 8: Tek gün olup olmadığını kontrol etmek için bir Else-koşullu ifadesi tanımlayın. Bir sayı 2'ye bölünemiyorsa, tek sayıdır.

VBA Gün İşlevi - Örnek 1-7

Kod:

Sub ActionBasedOnDayFunction()

    Dim inputDate As Date

    inputDate = InputBox(“Enter a date (mm/dd/yyyy):”, “Date Input”)

    If Not IsDate(inputDate) Then

        MsgBox “Invalid date entered. Please try again.”

        Exit Sub

    End If

    Dim dayOfMonth As Integer

    dayOfMonth = day(inputDate)

    If dayOfMonth Mod 2 = 0 Then

        MsgBox “The day is even.”

    Else

        MsgBox “The day is odd.”

    End If

End Sub

Adım 10: Yukarıdaki alt rutini VBA Araç Çubuğu'ndaki yeşil ok düğmesine tıklayarak çalıştırın.

VBA Gün İşlevi - Örnek 1-8
VBA Gün İşlevi - Örnek 1-9

Bundan, kullanıcıya girdiği tarihin çift gün olduğunu söyleyebilirsiniz.

Örnek 2

Tarihler içeren bir tablonuz olduğunu varsayalım. Tarihin bulunduğu haftanın günüyle birlikte gün numarasını bulmak istiyorsunuz. Bunu yapmak için VBA Day ve VBA Format işlevlerini kullanabilirsiniz. Aşağıdaki adımları izleyin.

VBA Gün İşlevi - Örnek 2

Adım 1: Tarihlerin gün numaralarını bulan alt rutini tanımlayın ve bunları bitişik sütunlarda saklayın.

VBA Gün İşlevi - Örnek 2-1

Adım 2: Tablonun boyutunu depolamak için bir aralık değişkeni tanımlayın.

VBA Gün İşlevi - Örnek 2-2

Adım 3: Bu alt rutinin çalışacağı tablonun aralığını ayarlayın.

VBA Gün İşlevi - Örnek 2-3

Adım 4: Tabloda çalışan bir for döngüsü tanımlayın ve aralıktaki her hücreyi tarayın.

VBA Gün İşlevi - Örnek 2-4

Adım 5: Gün numarasını bulmak için VBA Day fonksiyonunu çağırın ve Cells fonksiyonunu kullanarak bitişik sütuna veya ikinci sütuna kaydedin.

VBA Gün İşlevi - Örnek 2-5

Adım 6: Üçüncü sütunda, tabloda verilen tarihin hafta gününü yazdırmak için VBA Biçimlendirme fonksiyonunu “gggg” olarak ayarlayın ve haftanın gününü yazdırın.

VBA Gün İşlevi - Örnek 2-6

Adım 7: FOR döngüsünü sürdürün.

VBA Gün İşlevi - Örnek 2-7

Kod:

Sub FindAllDays()

    Dim rng As Range

    Set rng = Worksheets(“Sheet5”).Range(“A2:A7”)

    For Each i In rng

        Cells(i.Row, 2).value = day(i.value)

        Cells(i.Row, 3).value = Format(Cells(i.Row, 1).value, “dddd”)

    Next i

End Sub

Adım 8: Alt rutini çalıştırmak istediğinizde yeşil ok düğmesine tıklayın. Sonra sonuçlarınızı görmek için “Sheet5”e gidin.

VBA Gün İşlevi - Örnek 2-8

Örnek 3

Mevcut günün asal sayı olup olmadığını bilmek istediğinizi varsayalım. VBA Day işlevini kullanarak gün bileşenini çıkarabilir ve asal sayı olup olmadığını kontrol edebilirsiniz.

Sayı 2'yi sayının kareköküne bölerek asal sayı olup olmadığını bulabilirsiniz. Eğer 2'den sayının kareköküne kadar olan sayılardan hiçbiri bölünemiyorsa, o zaman asal sayıdır; aksi takdirde, bileşik sayıdır.

Adım 1: Verilen bir günün asal sayı olup olmadığını kontrol eden bir alt prosedür tanımlayın.

VBA Gün İşlevi - Örnek 3

Adım 2: Bugünün tarihinin gün bileşenini bulun ve bunu bir Tamsayı değişkeninde saklayın.

VBA Gün İşlevi - Örnek 3-1

Adım 3: Verilen sayının asal sayı olup olmadığını kontrol etmek için bir gösterge olarak bir Boolean değişkeni tanımlayın.

VBA Gün İşlevi - Örnek 3-2

Adım 4: Günün 1'den küçük veya eşit olup olmadığını kontrol edin. Eğer öyleyse, Boolean değişkenini False olarak ayarlayın.

VBA Gün İşlevi - Örnek 3-3

Adım 5: Gün 1'den büyükse bir Else koşul bloğu tanımlayın.

VBA Gün İşlevi - Örnek 3-4

Adım 6: 2 sayısından kareköküne kadar bir FOR döngüsü çalıştırın .

VBA Gün İşlevi - Örnek 3-5

Adım 7: Verilen sayı aralıktaki herhangi bir sayıya bölünebiliyorsa, Boolean değişkenini False olarak ayarlayın.

VBA Gün İşlevi - Örnek 3-6

Adım 8: Döngüdeki If koşulunu sonlandırın ve alt prosedürden çıkın.

VBA Gün İşlevi - Örnek 3-7

Adım 9: For döngüsünü devam ettirin. Döngüden sonra, Adım 4'teki If-Else koşulunu sonlandırın.

VBA Gün İşlevi - Örnek 3-8

Adım 10: Boolean değişkeninin doğru olup olmadığını kontrol etmek için başka bir If-koşulu bildirin.

VBA Gün İşlevi - Örnek 3-9

Günü ve asal sayı olduğunu belirten bir Mesaj Kutusu fonksiyonu yazdırın.

Adım 11: Boolean değişkeni False olarak ayarlanmışsa bir Else koşulu tanımlayın.

VBA Gün İşlevi - Örnek 3-10

Kod:

Sub CheckPrimeDay()

    Dim currentDay As Integer

    currentDay = day(Date)

    Dim isPrime As Boolean

    isPrime = True

    If currentDay <= 1 Then

        isPrime = False

    Else

        Dim i As Integer

        For i = 2 To Sqr(currentDay)

            If currentDay Mod i = 0 Then

                isPrime = False

                Exit For

            End If

        Next i

    End If

    If isPrime Then

        MsgBox “The day of the month (” & currentDay & “) is a prime number!”

    Else

        MsgBox “The day of the month (” & currentDay & “) is not a prime number.”

    End If

End Sub

Adım 12: Mevcut günün asal sayı olup olmadığını görmek için yukarıdaki alt programı çalıştırın.

VBA Gün İşlevi - Örnek 3-11

Bugünün tarihi asal sayı değildir.

Dikkat Edilmesi Gereken Önemli Noktalar

  • Zaman bileşenleriyle çalışıyorsanız, Day fonksiyonunu uygulamadan önce zaman bölümünü kaldırmak için DateValue kullanmayı düşünün.
  • Gün fonksiyonunun sonucunu, günü temsil eden bir tam sayı döndürdüğü için Integer türündeki değişkenlerde saklayın.
  • Gün işlevinin sistemin yerel saatine göre çalıştığını unutmayın. Uygulamanız birden fazla saat dilimini içeriyorsa, herhangi bir saat dilimi farkını hesaba katın.
  • Day işlevi haftanın gününü değil ayın gününü çıkarır. Haftanın günü için Weekday işlevini kullanın .
  • Gün fonksiyonu yalnızca saat değerleri için değil, tarih değerleri için de kullanılır.
  • Amaç biçimlendirilmiş bir tarih görüntülemekse, yalnızca Gün işlevine güvenmek yerine dize biçimlendirme işlevlerini veya özel tarih biçimlendirmesini kullanmayı düşünün.


1) Bir değişkende saklanan bir tarihle Day fonksiyonunu kullanabilir miyim?

Evet, değişkeni Day fonksiyonuna argüman olarak geçirerek bir değişkende depolanan bir tarihle Day fonksiyonunu kullanabilirsiniz.

Örneğin,
dayOfMonth = Day(myDate)

2) VBA'daki Day fonksiyonu geçersiz tarihleri ​​işleyebilir mi?

Hayır, VBA'daki Day işlevi geçersiz tarihleri ​​işlemez. Day işlevine geçersiz bir tarih geçirirseniz, bu bir çalışma zamanı hatasıyla sonuçlanabilir. Hataları önlemek için Day işlevini kullanmadan önce tarihleri ​​doğrulayın.

3) Excel'deki bir hücre referansıyla VBA'daki Gün fonksiyonunu kullanabilir miyim?

Evet, Excel'deki bir hücre referansıyla VBA'da Day işlevini kullanabilirsiniz.
Örneğin
dayOfMonth = Day(Range(“A1”).Value)

4) VBA'da Gün fonksiyonunu kullanırken zaman bileşenlerini nasıl işlerim?

VBA'daki Day işlevi, saati hariç tutarak bir tarihten gün bileşenini çıkarır. Saat bileşenlerini işlemek için, saati kaldırmak üzere DateValue işlevini kullanın. dayOfMonth = Day(DateValue(myDateTime))


Yorum Gönder

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