VBA UBOUND

UBOUND atau disebut juga Upper Bound, fungsi pada VBA ini digunakan dengan fungsi kebalikannya yaitu fungsi LBOUND atau disebut juga dengan fungsi Lower Bound, fungsi ini digunakan untuk menentukan panjang sebuah array dalam sebuah kode dan sesuai dengan namanya UBOUND digunakan untuk menentukan batas atas larik.

Fungsi VBA UBOUND

Bagaimana Anda mengetahui panjang maksimum array di excel? Ya, kita dapat secara manual melihat dan memperbarui panjang maksimum array tetapi jika Anda melakukan semua ini sementara hari ini adalah akhirnya karena kita memiliki fungsi yang disebut UBOUND untuk menentukan panjang maksimum array. Ikuti artikel ini untuk mengetahui lebih banyak tentang fungsi UBOUND di Excel VBA.

UBOUND adalah singkatan dari Upper Bound. Seringkali dalam pengkodean kita mungkin perlu mencari panjang maksimum dari array. Misalnya, MyResult (24) berarti nama array MyResult menampung 25 nilai karena array dimulai dari nol, bukan dari satu. Jadi 24 berarti +1 yaitu total 25 nilai.

Di sini panjang maksimum larik adalah 24, daripada menyediakan panjang larik secara manual, kita bisa menggunakan fungsi bawaan UBOUND untuk mendapatkan panjang larik maksimum.

Kodenya adalah: UBOUND (MyResult)  yaitu UBOUND (24)

Jadi fungsi Excel VBA UBOUND mewakili batas atas ukuran array.

Bagaimana cara menggunakan Fungsi VBA UBound di Excel?

Rumus VBA UBOUND sangat sederhana karena hanya memiliki dua parameter saja.

UBound (Arrayname [, Dimension])
  • Nama Array: Ini adalah nama dari nama array yang telah kita tentukan. Misalnya, dalam contoh di atas, MyResult adalah nama array.
  • [Dimension]: Jika array memiliki lebih dari satu dimensi maka kita perlu menentukan dimensi dari array tersebut. Jika Anda mengabaikannya, maka dimensi pertama akan diperlakukan secara default.

Fungsi Excel VBA UBOUND sangat berguna dalam menentukan panjang loop saat menjalankan loop.

Contoh Fungsi UBOUND di Excel VBA

Berikut adalah contoh praktis dari VBA UBound Function.

Anda dapat mengunduh Template Fungsi UBound VBA ini di sini - Template Fungsi UBound VBA

Contoh 1

Untuk memulai proses izinkan saya menulis kode sederhana. Ikuti langkah-langkah di bawah ini untuk menerapkan fungsi VBA UBOUND.

Langkah 1: Mulai makro excel dan tentukan nama variabel.

Kode:

 Sub Ubound_Example1 () Dim ArrayLength (0 Sampai 4) Sebagai String 

Langkah 2: Saya akan memberikan nilai ke nama array ini.

Kode:

 Sub Ubound_Example1 () Dim ArrayLength (0 Sampai 4) Sebagai String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Selamat Datang" ArrayLength (3) = "to" ArrayLength (4) = Sub Akhir "Kelas VBA" 

Langkah 3: Sekarang menggunakan kotak pesan dengan fungsi UBOUND kita akan melihat panjang maksimum array.

Kode:

 Sub Ubound_Example1 () Dim ArrayLength (0 Sampai 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" MsgBox "Panjang Batas Atas adalah:" & UBound (ArrayLength) End Sub 

Langkah 4: Jalankan kode ini, dengan menekan tombol F5 atau Anda juga dapat menjalankan kode secara manual seperti yang ditunjukkan pada gambar di bawah ini.

kotak pesan akan menunjukkan nomor batas atas dari larik yang akan ditampilkan di kotak pesan.

Seperti ini dengan menggunakan fungsi UBOUND VBA Excel, kita bisa mendapatkan panjang batas atas sebuah array.

Contoh # 2 - Menggunakan Fungsi UBOUND VBA Excel untuk Menyalin Data

Asumsikan Anda memiliki daftar data dalam satu lembar excel seperti di bawah ini.

Data ini akan diperbarui setiap hari dan Anda perlu menyalin data ini ke lembar baru setiap kali diperbarui. Memperbarui ini secara manual akan memakan banyak waktu di tempat kerja Anda, tetapi saya akan menunjukkan kepada Anda kode makro sederhana untuk mengotomatiskan ini.

Langkah 1: Buat makro dan tentukan variabel array.

Kode:

 Sub Ubound_Example2 () Dim DataRange () Sebagai Variant End Sub 

Langkah 2: Sekarang aktifkan lembar data dengan mengacu pada namanya.

Kode:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Aktifkan End Sub 

Langkah 3: Sekarang tetapkan rentang data ke variabel yang ditentukan dengan menggunakan kode di bawah ini.

Kode:

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

Langkah 4: Sekarang tambahkan lembar kerja baru ke buku kerja.

Kode:

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

Langkah 5: Sekarang tambahkan data ke lembar yang baru ditambahkan dengan menggunakan fungsi UBOUND VBA Excel dalam bentuk kode di bawah ini.

Kode:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Aktifkan 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 

Kode di atas akan mengimbangi sel dengan panjang maksimum yang dikembalikan oleh fungsi UBOUND dan kisaran ini akan sama dengan nilai nama array " DataRange "

Langkah 6: Sekarang jalankan kode ini, ini akan menempelkan nilai ke lembar baru.

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() 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 Erase DataRange End Sub 

Things to Remember

  • UBOUND returns the maximum length of the array.
  • The array starts from 0, not from 1.
  • If you want the lower value of the array then you need to use VBA LBOUND.
  • If the array has more than one dimension then you need to specify the dimension number as well.