EXCEL VBA'DA COUNTER FONKSİYONU

 

VBA sayacı, bir döngü veya belirli bir görev içindeki yineleme veya oluşum sayısını takip etmek için kullanılan bir değişkendir. Genellikle belirli bir eylemi belirli sayıda tekrarlamanız gerektiğinde veya belirli bir olayın veya koşulun oluşumlarını saymak istediğinizde kullanılır.


Bir VBA sayaç değişkeni genellikle döngü veya görev başlamadan önce bildirilir ve başlatılır. Daha sonra sayıyı takip etmek için döngü veya görev içinde artırılır veya değiştirilir. Bir örneğe bakalım. Bu örnekte, yineleme sayısının bir hesabını tutmak için bir VBA sayaç değişkeni kullanarak 1'den 10'a kadar yineleyen temel bir döngü oluşturacağız. Döngü içinde sayacı artırarak toplam sayıyı etkili bir şekilde belirleyebiliriz.

VBA Sayacı - 1

Yukarıdaki VBA kodunun çıktısı, sayaç değişkeninin son değerini gösteren bir mesaj kutusu olacaktır. Bu durumda, döngü 1'den 10'a kadar yinelediğinden ve sayacı her yinelemede 1 artırdığından, sayaç 10'luk son değere ulaşacaktır. Bu nedenle, çıktı mesaj kutusu şunu gösterecektir: "Sayaç değeri: 10."

VBA Sayacı - 2

ÖNEMLİ NOKTALAR

  • VBA sayacı, Excel VBA'da bir döngü veya görev içindeki yineleme veya oluşum sayısını takip etmek için kullanılan bir değişkendir.
  • Bir VBA sayacı oluşturmak için bir sayaç değişkeni tanımlayın ve başlatın, istenen eylemleri gerçekleştirmek için bir döngü veya kod bloğu kullanın ve döngü içinde sayaç değişkenini artırın veya değiştirin.
  • VBA sayaçlarına örnek olarak tek sayıları sayma, sayıları toplama ve belirli koşullara göre olayları izleme verilebilir.
  • VBA sayaçlarıyla çalışırken, sayacı doğru şekilde artırın, sayaç değişkeninin kapsamını yönetin, uygun başlatmayı sağlayın, uygun veri türlerini seçin ve gerekirse sayacı sıfırlayın.

Excel VBA Sayacı Nasıl Oluşturulur?

Excel VBA sayacı oluşturmak için şu adımları izleyin:

  1. Excel'i açın ve Visual Basic Düzenleyicisi'ni (VBE) açmak için ALT+F11 tuşlarına basın.


    Excel VBA Sayacı Nasıl Oluşturulur - Adım 1

  2. Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.


    Excel VBA Sayacı Nasıl Oluşturulur - Adım 2

  3. Modül penceresinde bir sayaç değişkeni bildirin ve başlatın. Örneğin, "sayaç" adlı bir değişken kullanalım ve onu sıfıra başlatalım:


    Excel VBA Sayacı Nasıl Oluşturulur - Adım 3

  4. Sayacı kullanmak istediğiniz bir döngü veya kod bloğu yazın. Örneğin, sayacı 1'den 10'a artıran bir For döngüsü oluşturalım:


    Excel VBA Sayacı Nasıl Oluşturulur - Adım 4

  5. Sayaç değerine bağlı olarak, döngü içinde eylemler veya koşullar gerçekleştirebilirsiniz. Örneğin, sayacın geçerli değerini görüntülemek isteyebilirsiniz:


    Excel VBA Sayacı Nasıl Oluşturulur - Adım 5

  6. Kodu F5'e basarak veya VBE araç çubuğundaki "Çalıştır" düğmesine tıklayarak çalıştırın. Sayaç, döngünün her yinelemesinde artacaktır ve istenen eylemler veya koşullar buna göre gerçekleştirilebilir.


    Sub CounterExample()
    Dim counter As Integer
    counter = 0
    For counter = 1 To 10
    ' Her yineleme için çalıştırılacak kod
    MsgBox “Sayaç değeri: ” & counter
    Next counter
    End Sub


    Bu durumda 1'den 10'a kadar sayaç değerini gösterecektir.

    Excel VBA Sayacı Nasıl Oluşturulur - Adım 6


Örnekler

VBA sayaç değişkenini kullanarak bazı ilginç örneklere bakalım.

Örnek 1

Bu örnekte, sayaç 1 ile 20 arasındaki tek sayıları saymak için kullanılır. Kod her sayıyı kontrol eder ve yalnızca sayı tek ise sayacı artırır.

  • Adım 1: Yeni modülde, “CountOddNumbers” alt yordamını bildirerek başlıyoruz ve iki değişken bildiriyoruz: “counter” ve “num.” Her iki değişken de Integer veri türündedir. Ek olarak, VBA counter değişkenini 0 başlangıç ​​değeriyle başlatıyoruz.
Örnek 1 - Adım 1
  • Adım 2: Bir döngüye girmek için bir “For” döngü yapısı kullanırız. Bu döngü, 1'den 20'ye kadar olan sayılar üzerinde yineleme yapmamızı sağlar. “num” değişkeni, belirtilen aralıktaki her değeri alan döngü kontrol değişkenidir.
Örnek 1 - Adım 2
  • Adım 3: Döngünün içinde, "num"ın geçerli değerinin tek sayı olup olmadığını kontrol etmek için bir "If" ifadesi kullanırız. Bu, sayının modül 2'ye göre 0'a eşit olup olmadığını değerlendirerek yapılır. Koşul doğruysa, sayının tek olduğunu gösterir.
Örnek 1 - Adım 3
  • Adım 4: Tek sayıyı belirledikten sonra sayaç değişkenini 1 artırıyoruz. Bu artırma, döngü sırasında karşılaşılan tek sayıların sayısını takip etmemizi sağlar.
Örnek 1 - Adım 4
  • Adım 5: Döngü, 1'den 20'ye kadar olan tüm sayılar işlenene kadar yinelemeye devam eder. "num" değişkeni her yinelemede belirtilen aralıktaki bir sonraki değeri alır.
  • Adım 6: Döngü tamamlandıktan sonra, karşılaşılan tek sayıların sayısını görüntüleriz. Bu, bir mesaj kutusu kullanılarak elde edilir. Mesaj kutusu, sayaç değişkeninin değeriyle birleştirilmiş "1 ile 20 arasındaki tek sayıların sayısı:" metnini görüntüler.
Örnek 1 - Adım 6
  • Adım 7: Modülü kaydedin ve VBA’yı kapatın. Şimdi Makro menüsünü açmak için Alt + F8 tuşlarına basın, “CountOddNumbers”ı seçin ve çalıştırın.
Örnek 1 - Adım 7
  • Adım 8: Kodu çalıştırdığınızda gerekli çıktıyı içeren mesaj kutusunu göreceksiniz.
Excel'de VBA Sayacı - Örnek 1 - Adım 8

İşte tam kod:

Sub CountOddNumbers()
Dim counter As Integer
Dim num As Integer
counter = 0
num = 1 ile 20 arasında
ise num Mod 2 <> 0 ise
counter = counter + 1
End If
Next num
MsgBox “1 ile 20 arasındaki tek sayıların sayısı: ” & counter
End Sub

Örnek 2

Bu örnekte, ilk beş sayıyı toplamak için VBA sayacı kullanılır. Kod, sayıları bir toplam değişkeninde toplayarak beş kez yinelemek için bir Do-While döngüsü kullanır.

  • Adım 1: Yeni modülde, “SumNumbers” alt rutinini ve iki değişkeni bildirerek başlıyoruz: “counter” ve “sum.” Her iki değişken de Integer veri türündedir. Bu değişkenler sırasıyla sayımı ve çalışan toplamı takip etmek için kullanılacaktır.
Örnek 2 - Adım 1
  • Adım 2: Daha sonra sayaç değişkenini 1 başlangıç ​​değeriyle ve toplam değişkenini 0 başlangıç ​​değeriyle başlatırız. Bu, değişkenleri yaklaşan döngü için hazırlar.
Örnek 2 - Adım 2
  • Adım 3: Sonra, belirtilen bir koşul artık karşılanmayana kadar eylemleri tekrarlamak için bir "Do While" döngüsü kullanırız. Bu durumda, sayaç 5'ten küçük veya ona eşitse VBA döngüsü yürütülmeye devam edecektir.
Örnek 2 - Adım 3
  • Adım 4: Döngü içerisinde sayacın geçerli değerini çalışan toplama ekleriz. “sum = sum + counter” ifadesi, sayaç değerinin mevcut toplama eklenmesini sağlar.
Örnek 2 - Adım 4
  • Adım 5: Ek olarak, "counter = counter + 1" ifadesini kullanarak her yinelemede counter değişkenini 1 artırıyoruz. Bu, ileriye gitmemize ve dizideki bir sonraki sayıyı düşünmemize olanak tanır.
Örnek 2 - Adım 5

Döngü, “Do While” ifadesinde belirtilen koşul artık doğru olmayıncaya kadar devam eder; bu, sayacın 5’ten büyük bir değere ulaştığını gösterir.

  • Adım 6: Döngü sona erdikten sonra, karşılaşılan ilk beş sayının son toplamını görüntüleriz. Bu, “İlk beş sayının toplamı:” metnini ve ardından toplam değişkeninin değerini gösteren bir mesaj kutusu kullanılarak gerçekleştirilir.
Örnek 2 - Adım 6
  • Adım 7: Modülü kaydedin ve VBA'yı kapatın. Şimdi Makro menüsünü açmak için Alt + F8 tuşlarına basın, “SumNumbers”ı seçin ve çalıştırın.
Örnek 2 - Adım 7
  • Adım 8: Kodu çalıştırdığınızda gerekli çıktıyı içeren mesaj kutusunu göreceksiniz.
Excel'de VBA Sayacı - Örnek 2 - Adım 8

İşte tam kod:

Sub SumNumbers()
Dim counter As Integer
Dim sum As Integer
counter = 1
sum = 0
Do While counter <= 5
sum = sum + counter
counter = counter + 1
Loop
MsgBox “İlk beş sayının toplamı: ” & sum
End Sub

Örnek 3

Bu senaryoda, VBA sayacı belirli bir olayın kaç kez meydana geldiğini saymak için kullanılır.

  • Adım 1: “TrackEvent” alt yordamını ve iki değişkeni bildirerek başlıyoruz: “counter” ve “eventOccurred.”

“counter” değişkeni Integer veri türündedir ve olay oluşumlarının sayısını takip edecektir. “eventOccurred” değişkeni bir Boolean türüdür ve bir olayın oluşup oluşmadığını takip etmek için kullanılacaktır.

Örnek 3 - Adım 1
  • Adım 2: Sonra, sıfır başlangıç ​​sayımı sağlamak için sayaç değişkenini 0 başlangıç ​​değeriyle başlatırız. Ayrıca, henüz hiçbir olayın gerçekleşmediğini belirtmek için eventOccurred değişkenini False olarak ayarlarız.
Örnek 3 - Adım 2
  • Adım 3: Bu adımda bir "Do While" döngüsüne giriyoruz. Bu döngü, sayaç 5'ten az olduğu sürece çalışmaya devam edecek, yani olayın beş kez meydana gelmesini izlemek istiyoruz.
Örnek 3 - Adım 3
  • Adım 4: Döngü içerisinde bir olayın oluşumunu simüle ediyoruz. Gösterim amaçlı olarak, “Rnd” ve “ Int ” fonksiyonlarını kullanarak 1 ile 10 arasında rastgele bir sayı üretiyoruz. Bu rastgele sayı bir olayın oluşumunu simüle eder.
Örnek 3 - Adım 4
  • Adım 5: Mod operatörünü kullanarak, üretilen rastgele sayının 2'ye tam bölünüp bölünmediğini (yani çift sayı) kontrol ederiz. Koşul doğruysa, olayın gerçekleştiğini gösterir.
Örnek 3 - Adım 5
  • Adım 6: Eğer olay meydana gelmişse, eventOccurred değişkenini True olarak ayarlıyoruz ve sayaç değişkenini 1 artırıyoruz. Bu, olay oluşum sayısını takip etmemize yardımcı olur.
Örnek 3 - Adım 6

Döngü, sayaç 5 değerine ulaşana kadar devam eder; bu, olayın beş kez gerçekleştiğini gösterir.

  • Adım 7: Döngü sona erdikten sonra, olay oluşumlarının sayısını görüntüleriz. Bir mesaj kutusu kullanarak, “Olayların meydana geldiği sayı: ” metnini sayaç değişkeninin değeriyle birleştirerek gösteririz.
Örnek 3 - Adım 7
  • Adım 8: Modülü kaydedin ve VBA'yı kapatın. Şimdi Makro menüsünü açmak için Alt + F8 tuşlarına basın ve “TrackEvent”i seçip çalıştırın.
Örnek 3 - Adım 8
  • Adım 9: Kodu çalıştırdığınızda, gerekli çıktı mesaj kutusunda görüntülenir.
Excel VBA Sayacı - Örnek 3 - Adım 9

İşte tam kod:

Sub TrackEvent()
Dim counter As Integer
Dim eventOccurred As Boolean
counter = 0
eventOccurred = False
Do While counter < 5
' Bir olayın oluşumunu simüle etme
' Gösterim amaçlı olarak 1 ile 10 arasında rastgele bir sayı kullanacağız
Dim randomNumber As Integer
randomNumber = Int((10 – 1 + 1) * Rnd + 1)
If randomNumber Mod 2 = 0 Then
eventOccurred = True
counter = counter + 1
End If
Loop
MsgBox “Oluşan olay sayısı: ” & counter
End Sub

Dikkat Edilmesi Gereken Önemli Noktalar

  • Sonsuz döngülerden veya yanlış sayımlardan kaçınmak için VBA sayaç değişkeninin döngü veya görev içinde doğru şekilde artırıldığından veya değiştirildiğinden emin olun. VBA sayaç artışının başarısız olması sonsuz bir döngüye neden olabilir.
  • VBA sayaç değişkeninin kapsamı, ona nerede erişilebileceğini ve nerede değiştirilebileceğini belirler. VBA sayaç değişkeni belirli bir prosedür veya VBA sayaç döngüsü içinde bildirilirse, yalnızca o kapsam içinde erişilebilir olur. Sayaca birden fazla prosedür veya döngüden erişmeniz gerekiyorsa, onu daha yüksek bir kapsamda (örneğin, modül düzeyinde) bildirin.
  • Zaman tabanlı işlemler için bir VBA sayacı kullanırken, doğru zaman ölçümleri sağlamak için kodunuzun yürütme hızını ve sistem kaynaklarındaki olası değişiklikleri göz önünde bulundurun.
  • Kodunuzun yürütülmesi sırasında sayacı sıfırlamanız gerekirse, istediğiniz değeri sayaç değişkenine atayın. Birden fazla oluşumu sayarken veya farklı bir sayımla bir görevi tekrarlarken faydalı olabilir.


Yorum Gönder

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