EXCEL VBA'DA LBOUND FONKSİYONU

VBA LBOUND, "Lower Bound" (Alt Sınır) anlamına gelir, yani bir dizinin başlangıç ​​konumunu bulmak için kullanılan bir dizi fonksiyonudur. İki dizi fonksiyonumuz var, yani UBOUND ve LBOUND.

Bu iki fonksiyon bir dizinin boyutunu, yani dizinin başlangıç ​​ve bitiş konumunu bulmak için kullanılır. Bir dizinin konumlarını bulmak, döngüyü başlatmamıza ve dizinin boyutuna göre döngüden çıkmamıza yardımcı olur. Örneğin, aşağıdaki koda bakın. Dim MyArray (2 ila 10) as String


“MyArray” adlı bir dizi değişkeni tanımladık ve LBOUND'u kullanarak dizinin konumunu, yani 2'yi bulabiliriz.

ÖNEMLİ NOKTALAR

  • VBA LBOUND, “Alt Sınır” anlamına gelir. Bir dizi değişkeninin en düşük sınırını bulmak için kullanılır.
  • Bir dizi değişkeninin başlangıç ​​pozisyonuna göre döngüyü başlatmak için VBA LBOUND fonksiyonunu kullanabiliriz.
  • VBA LBOUND UBOUND, döngü uzunluğunu dinamik olarak belirlemek için birleştirilebilir.
  • Çok boyutlu dizinin başlangıç ​​pozisyonunu bulabiliriz.

Excel VBA LBOUND Fonksiyonunun Sözdizimi

Aşağıda VBA LBOUND fonksiyonunun sözdizimi yer almaktadır.

LBound( Array Name, [Dimension])

  • Dizi Adı: Burada, en düşük dizini, yani dizinin en düşük konumunu bulmak istediğimiz dizi adını sağlamalıyız.
  • [Boyut]: Bu isteğe bağlı bir argümandır. Burada, dizinin boyutunu belirlemek için tamsayı değerini kullanabiliriz. Bu argümanı atlarsak, varsayılan değer bir olacaktır.

BA LBOUND Fonksiyonu Nasıl Kullanılır?

VBA LBOUND işlevini kullanmanın adım adım yaklaşımını gösterelim. Aşağıdaki adımları izleyin.

Adım 1: Makroya isim vererek alt prosedürü başlatın.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1

Adım 2: String VBA veri türünde bir değişken tanımlayın .

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-1

Adım 3: LBOUND fonksiyonunu kullanmak için, tanımlı değişkeni bir dizi değişkeni yapmalıyız. Bu nedenle, parantez içindeki değişken adından sonra tanımlı değişkene bir boyut atayın.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-2

Adım 4: Şimdi, dizi değişkeninin en düşük konumunu bulmak için LBOUND işlevini kullanabiliriz. VBA LBOUND işlevi bir çıktı döndürür; dolayısıyla, VBA LBOUND işlevinin dönüş değerini değişkene atamak için başka bir değişken tanımlayın.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-3

Adım 5: VBA LBOUND fonksiyonunu Integer olarak tanımlanan ikinci değişkene atayın.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-4

Adım 6: VBA LBOUND fonksiyonunun içine dizi değişken adını, yani “MyVariable”ı geçirin.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-5

Not : Tanımlanan dizi bir boyutlu olduğundan LBOUND boyut argümanını yok sayın. Bu nedenle, varsayılan olarak boyut argümanı girişi olarak bir alır.

Adım 7: Son olarak, LBOUND çıkış değeri değişkeninin değerini bir mesaj kutusunda gösterelim.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-6

Referans olması açısından kodun tamamı aşağıda verilmiştir.

Sub VBA_LBOUND()

    Dim MyVariable(1 ila 6) As String

    Dim Lbound_Value As Integer

    Lbound_Value = LBound(myVariable)

    MsgBox Lbound_Value

End Sub

Bu kodu çalıştırdığınızda aşağıdaki sonucu elde edeceksiniz.

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-7

VBA LBOUND fonksiyonunun sonucu 1'dir çünkü dizi değişkeni en düşük aralık olan 1 ile başlar. Şimdi, dizi boyutunu "1 ila 6"dan "3 ila 6"ya değiştirelim.

Sub VBA_LBOUND()

    Dim MyVariable(3 ila 6) Dize Olarak

    Dim Lbound_Value Tamsayı Olarak

    Lbound_Value = LBound(Değişkenim)

    MsgBox Lbound_Value

End Sub

Bu kodu çalıştırdığınızda şunu elde edersiniz:

VBA LBOUND Fonksiyonu Nasıl Kullanılır 1-8

Şimdi, en düşük aralık 3'tür. Bu nedenle, VBA LBOUND fonksiyonu dizinin başlangıç ​​aralığını 3 olarak aldı.


VBA LBOUND Fonksiyonunun Örnekleri

Örnek 1 – Dizinin En Düşük Konumunu Bulun

Bir dizi değişkeni bildirdiğimizde, genellikle ona bir boyut atarız. Bu örnekte, dizi değişkeninin başlangıç ​​konumunu bulalım.

Örneğin aşağıdaki koda bakın.

VBA LBOUND İşlevi Örneği 1

VBA'da bildirilen bir dizi değişkeninin tipik boyutu bu nedenle "1 ila 8"dir. Ancak dizinin boyutu farklıdır.

Sub VBA_LBOUND_EX1() 

    Dim MyVariable(8) As String

    Dim Lbound_Value As Integer

    Lbound_Value = LBound(MyVariable)

    MsgBox Lbound_Value

End Sub

Dizi değişkeninin başlangıç ​​konumunu bulmak için VBA LBOUND fonksiyonunu kullanalım.

VBA LBOUND İşlevi Örneği 1-1

Şimdi kodu çalıştırın. Dizi değişkeninin aşağıdaki başlangıç ​​pozisyonunu göreceksiniz.

Sonuç olarak 0 elde ettik. Bunun sebebi dizi değişkenini tanımlarken başlangıç ​​pozisyonunu girmemiş olmamız, bunun yerine sadece boyutun son boyutunu yani 8'i belirtmiş olmamızdır.

Dizinin sadece son boyutunu belirttiğimizde, dizinin başlangıç ​​noktası 1 değil 0 olacak ve dizinin toplam boyutu gerçek boyut + 1, yani 8 + 1 = 9 olacaktır. Dolayısıyla dizinin en düşük sınırı 0 olacaktır.


Örnek 2 – VBA LBOUND 2D Dizisi

Çok boyutlu dizilerle çalışmak ileri düzey bir tekniktir; dolayısıyla bir dizinin alt sınırını bulmak da VBA LBOUND fonksiyonunda farklılık göstermektedir.

Öncelikle çok boyutlu bir dizinin nasıl tanımlanacağına bakalım. Örneğin, Excel'deki aşağıdaki verilere bakın.

VBA LBOUND İşlevi Örneği 2

Dokuz satırımız ve iki sütunumuz var (başlıklar hariç). Veriler 1'den fazla sütuna yayıldığı için çok boyutlu bir dizi kullanıyoruz. Diziyi tanımlayın ve çok boyutlu olarak atayın.

VBA LBOUND İşlevi Örneği 2-1

Şimdi, ilk boyutun en düşük sınırını bulmak için VBA LBOUND fonksiyonunu kullanalım.

Sub VBA_LBOUND_EX2() 

    'Bir dizi değişkeni tanımlayın ve atayın

    Dim MyData (2 ila 10, 1 ila 10) As String

    Dim Lbound_Range As Integer

    'Birinci boyut VBA LBOUND aralığına bakmak için boyut argümanını 1 olarak kullandık.

    Lbound_Range = LBound(Mydata, 1)

    MsgBox Lbound_Range

End Sub

Görüldüğü gibi, VBA LBOUND fonksiyonu içinde, dizinin yalnızca bir boyutuna bakmak için boyut argümanını 1 olarak kullandık. Bu kodu çalıştıralım.

VBA LBOUND İşlevi Örneği 2-2

Dizi değişkeni MyData'nın iki boyutu vardır, yani 2 ila 10 ve 1 ila 10.

LBOUND fonksiyonu ile tek bir boyuta baktığımız için en düşük sınır değeri 2'dir. Dolayısıyla LBOUND fonksiyonu da aynı değeri döndürmüştür.

Koddaki boyut argümanını birden ikiye değiştirelim.

Sub VBA_LBOUND_EX2() 

    'Bir dizi değişkeni tanımlayın ve atayın

    Dim MyData (2 ila 10, 1 ila 10) As String

    Dim Lbound_Range As String

    'İlk boyut VBA LBOUND aralığına bakmak için boyut argümanını 2 olarak kullandık

    Lbound_Range = LBound(Mydata, 2)

    MsgBox Lbound_Range

End Sub

Kodu çalıştırın ve ne olacağını görün.

VBA LBOUND İşlevi Örneği 2-3

İkinci boyutta dizinin en düşük sınırı 1'dir; dolayısıyla VBA LBOUND fonksiyonu da aynı değeri döndürmüştür.


Örnek 3 – VBA LBOUND ve VBA UBOUND Bir Döngüde Birlikte

VBA'da bir dizi fonksiyonunun gücünden en iyi şekilde, onu döngü içindeki diğer fonksiyonlarla birlikte kullandığımızda faydalanabiliriz. İki dizi fonksiyonu olan VBA LBOUND ve VBA UBOUND'u daha detaylı inceleyelim .

Beş tam sayı arasında döngü yapmamız gerektiğini varsayalım, aşağıdaki gibi 5 dizi boyutunda bir değişken tanımlamalıyız .

VBA LBOUND İşlevi Örneği 3

Döngüyü başlatmak için başka bir değişken tanımlayın.

VBA LBOUND İşlevi Örneği 3-1

Daha sonra döngüyü başlatın.

VBA LBOUND İşlevi Örneği 3-2

Döngü için sabit kodlanmış başlangıç ​​ve bitiş sınırlarını verdik, yani 1 ila 5, bu da dizi değişkeni boyutuna eşittir. Ancak, bir dizinin boyutunu artırır veya azaltırsak, FOR NEXT döngüsünün başlangıcını ve sonunu da manuel olarak değiştirmemiz gerekir.

Dolayısıyla, sabit kodlanmış sayılar vermek yerine, bir dizinin en düşük ve en yüksek sınırını belirlemek için VBA LBOUND UBOUND fonksiyonlarını kullanabiliriz.

VBA LBOUND İşlevi Örneği 3-3

Şimdi, döngünün içinde, kodu gereksinimlerimize göre yazabiliriz. Referansınız için tam kod aşağıdadır.

Sub VBA_LBOUND_EX3() 

    '5 boyutunda bir dizi değişkeni tanımlayın

    'Bu değerler arasında döngü yapmamız gerektiğinden tam sayı veri türünü atayın

    Dim MyInteger(1 ila 5) As Integer

    'Döngüyü başlatmak için bir değişken tanımlayın

    Dim k As Long

    'Döngüyü başlat

    'Döngünün başlangıcını ve sonunu belirlemek için VBA LBOUND UBOUND işlevlerini kullanın

   For k = LBound(MyInteger) To UBound(MyInteger)

        MsgBox k

    Next k

End Sub

Bu kod artık 1'den 5'e kadar olan tam sayı değerlerini ayrı ayrı bir mesaj kutusunda birbiri ardına gösterecektir.

Dikkat Edilmesi Gereken Önemli Noktalar

  • Dizi uzunluğu statik olduğunda, yani tam boyutu (1 ila 10) sağlamazsak, dizi her zaman 1'den değil 0'dan başlar.
  • VBA LBOUND fonksiyonunun boyut argümanı için varsayılan değer 1'dir. Eğer diğer boyutlara gitmek istiyorsak 2, 3 veya 4 gibi boyut numaralarını özel olarak belirtmemiz gerekir.
  • Dizi boyutlandırılmamışsa veya boşsa, varsayılan değer 0 olacaktır.
  • VBA LBOUND fonksiyonu string değerleriyle çalışmaz ve varsayılan değer 1 olur.

VBA'da LBound diziler için 0'dan farklı bir değer döndürebilir mi?

Evet, VBA LBOUND diziler için 0'dan farklı bir değer döndürebilir. Örneğin, aşağıdaki diziye bakın.

Dim MyArray (2 ila 10) as String Bu durumda,

VBA LBOUND 0 yerine 2 döndürür çünkü dizinin boyutu 0'dan değil 2'den başlar.

VBA'da başlatılmamış bir dizide LBound kullanırsam ne olur?

Başlatılmamış dizi ile VBA LBOUND'u kullanırsak başlangıç ​​pozisyonu olarak 0 alırız.

Yorum Gönder

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