VBA UBound İşlevi - Excel VBA'da UBound Nasıl Kullanılır?

İçindekiler

UBOUND veya Upper Bound olarak da bilinen VBA'daki bu işlev, LBOUND veya Lower Bound işlevi olarak da bilinen karşıt işlevi ile kullanılır, bu işlevin kullanımı bir koddaki bir dizinin uzunluğunu tanımlamaktır ve adından da anlaşılacağı gibi UBOUND dizinin üst sınırını tanımlamak için kullanılır.

VBA UBOUND İşlevi

Excel'de dizinin maksimum uzunluğunu nasıl anlarsınız? Evet, dizinin maksimum uzunluğunu manuel olarak görebilir ve güncelleyebiliriz ancak tüm bunları yapıyorsanız, o zaman bugün onun sonu, çünkü dizinin maksimum uzunluğunu belirlemek için UBOUND adlı bir fonksiyonumuz var. Excel VBA'da UBOUND işlevi hakkında daha fazla bilgi sahibi olmak için bu makaleyi takip edin.

UBOUND, Upper Bound anlamına gelir. Çoğu zaman kodlamada, dizinin maksimum uzunluğunu bulmamız gerekebilir. Örneğin, MyResult (24) araçları dizisi adı MyResult buna 25 değerleri tutan olmayan bir ila sıfırdan dizi başlar, çünkü. Yani 24, +1, yani toplam 25 değer anlamına gelir.

Burada dizinin maksimum uzunluğu 24'tür. Dizi uzunluğunu manuel olarak sağlamak yerine, dizinin maksimum uzunluğunu elde etmek için yerleşik UBOUND işlevini kullanabiliriz.

Kod: UBOUND (MyResult), yani UBOUND (24)

Dolayısıyla Excel VBA UBOUND işlevi, dizi boyutunun üst sınırını temsil eder.

Excel'de VBA UBound İşlevi nasıl kullanılır?

VBA UBOUND'un formülü çok basit çünkü sadece iki parametresi var.

UBound (Dizi adı (, Boyut))
  • Dizi Adı: Tanımladığımız dizi adının adıdır. Örneğin, yukarıdaki örnekte, MyResult dizi adıdır.
  • (Boyut): Dizinin birden fazla boyutu varsa, dizinin boyutunu belirlememiz gerekir. Bunu görmezden gelirseniz, varsayılan olarak ilk boyutu ele alır.

Excel VBA UBOUND işlevi, döngüleri çalıştırırken döngülerin uzunluğunu belirlemede çok kullanışlıdır.

Excel VBA'da UBOUND İşlevi Örnekleri

Aşağıda, VBA UBound İşlevinin pratik örnekleri verilmiştir.

Örnek 1

İşlemlere başlamak için basit kodu yazmama izin verin. VBA UBOUND işlevini uygulamak için aşağıdaki adımları izleyin.

Adım 1: Excel makrosunu başlatın ve değişken adını tanımlayın.

Kod:

Sub Ubound_Example1 () Dim ArrayLength (0 - 4) As String

Adım 2: Bu dizi adına değerler atayacağım.

Kod:

Sub Ubound_Example1 () Dim ArrayLength (0 ila 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Arkadaş" ArrayLength (2) = "Hoş Geldiniz" ArrayLength (3) = "" ArrayLength (4) = "VBA Sınıfı" Son Alt

Adım 3: Şimdi, UBOUND fonksiyonu ile bir mesaj kutusu kullanarak, dizinin maksimum uzunluğunu göreceğiz.

Kod:

Sub Ubound_Example1 () Dim ArrayLength (0 ila 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Arkadaş" ArrayLength (2) = "Hoş Geldiniz" ArrayLength (3) = "" ArrayLength (4) = "VBA Sınıfı" MsgBox "Üst Sınır Uzunluğu:" & UBound (ArrayLength) End Sub

Adım 4: F5 tuşuna basarak bu kodu çalıştırın veya aşağıdaki ekran görüntüsünde gösterildiği gibi kodu manuel olarak da çalıştırabilirsiniz.

Mesaj kutusu size mesaj kutusunda gösterilecek dizinin üst sınır numarasını gösterecektir.

Excel VBA UBOUND işlevini kullanarak bunun gibi, bir dizinin üst sınır uzunluğunu elde edebiliriz.

Örnek 2 - Verileri Kopyalamak için Excel VBA UBOUND İşlevini Kullanma

Aşağıdaki gibi bir excel sayfasında bir veri listeniz olduğunu varsayalım.

Bu veriler günlük olarak güncellenecek ve her güncellendiğinde bu verileri yeni sayfaya kopyalamanız gerekiyor. Bunu manuel olarak güncellemek, işyerinizde önemli miktarda zaman alacaktır, ancak bunu otomatikleştirmek için size basit bir makro kodu göstereceğim.

Adım 1: Bir makro oluşturun ve dizi değişkenini tanımlayın.

Kod:

Sub Ubound_Example2 () Dim DataRange () Variant End Sub

Adım 2: Şimdi veri sayfasını adına hakemlik yaparak etkinleştirin.

Kod:

Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). End Sub'ı Etkinleştir

Adım 3: Şimdi aşağıdaki kodu kullanarak veri aralığını tanımlanan değişkene atayın.

Kod:

Sub Ubound_Example2 () Dim DataRange () Variant Sheets olarak ("Data Sheet"). Activate DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub

Step 4: Now add a new worksheet to the workbook.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add End Sub

Step 5: Now add the data to the newly added sheet by using the Excel VBA UBOUND function in the form of the below code.

Code:

Sub Ubound_Example2() Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add Range(ActiveCell, ActiveCell.Offset(UBound(DataRange, 1) - 1, UBound(DataRange, 2) - 1)) = DataRange End Sub

The above code will offset the cells by the maximum length returned by the UBOUND function, and this range will be equal to the value of the array name “DataRange.

Step 6: Now run this code. It will paste the value to the new sheet.

This code is a dynamic one because even when the data increases horizontally and vertically, it will automatically take the range. Now I will add some dummy lines to the data.

Now I will once again run this code. It will now add the newly added lines as well.

Code:

Sub Ubound_Example2 () Dim DataRange () Varyant Sayfaları Olarak ("Veri Sayfası"). Etkinleştir DataRange = Aralık ("A2", Aralık ("A1"). End (xlDown) .End (xlToRight)) Çalışma Sayfaları.Aralık Ekle (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange DataRange Silme End Sub

Hatırlanacak şeyler

  • UBOUND, dizinin maksimum uzunluğunu döndürür.
  • Dizi 1'den değil 0'dan başlar.
  • Dizinin daha düşük değerini istiyorsanız, VBA LBOUND kullanmanız gerekir.
  • Dizinin birden fazla boyutu varsa, boyut numarasını da belirtmeniz gerekir.

Ilginç makaleler...