VBA DIBAWAH

UBOUND atau juga dikenali sebagai Upper Bound, fungsi ini di VBA digunakan dengan fungsi berlawanan yang LBOUND atau juga dikenali sebagai Lower Bound function, penggunaan fungsi ini adalah untuk menentukan panjang array dalam kod dan seperti namanya UBOUND digunakan untuk menentukan had atas larik.

Fungsi VBA UBOUND

Bagaimana anda memberitahu panjang maksimum array dalam excel? Ya, kita dapat melihat dan mengemas kini panjang maksimum array secara manual tetapi jika anda melakukannya selama ini maka hari ini adalah penghujungnya kerana kita mempunyai fungsi yang disebut UBOUND untuk menentukan panjang maksimum array. Ikuti artikel ini untuk mengetahui lebih lanjut mengenai fungsi UBOUND dalam Excel VBA.

UBOUND bermaksud Upper Bound. Sering kali dalam pengekodan, kita mungkin memerlukan mencari panjang maksimum tatasusunan. Sebagai contoh, MyResult (24) bermaksud nama array MyResult menyimpan 25 nilai padanya kerana array bermula dari sifar, bukan dari satu. Jadi 24 bermaksud +1 iaitu 25 nilai keseluruhan.

Di sini panjang maksimum tatasusunan adalah 24, dan bukannya membekalkan panjang array secara manual, kita dapat menggunakan fungsi terbina dalam DIBAWAH untuk mendapatkan panjang maksimum array.

Kodnya adalah: UBOUND (MyResult)  iaitu UBOUND (24)

Oleh itu, fungsi Excel VBA UBOUND mewakili batas atas ukuran array.

Bagaimana cara menggunakan Fungsi VBA UBound di Excel?

Formula VBA UBOUND sangat mudah kerana ia hanya mempunyai dua parameter sahaja.

UBound (Nama Array [, Dimensi])
  • Nama Array: Ini adalah nama nama array yang telah kami tentukan. Sebagai contoh, dalam contoh di atas, MyResult adalah nama array.
  • [Dimensi]: Jika array mempunyai lebih dari satu dimensi, maka kita perlu menentukan dimensi array. Sekiranya anda mengabaikan ia akan menganggap dimensi pertama secara lalai.

Fungsi Excel VBA UBOUND sangat berguna dalam menentukan panjang gelung semasa menjalankan gelung.

Contoh Fungsi UBOUND dalam Excel VBA

Berikut adalah contoh praktikal Fungsi UBound VBA.

Anda boleh memuat turun Templat Fungsi VBA UBound ini di sini - Templat Fungsi VBA UBound

Contoh # 1

Untuk memulakan prosiding, izinkan saya menulis kod ringkas. Ikuti langkah-langkah berikut untuk menerapkan fungsi VBA UBOUND.

Langkah 1: Mulakan makro excel dan tentukan nama pemboleh ubah.

Kod:

 Sub Ubound_Contoh1 () Dim Array Panjang (0 Hingga 4) Sebagai Rentetan 

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

Kod:

 Sub Ubound_Contoh1 () Dim ArrayLength (0 To 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = Sub Kelas "VBA Class" Akhir 

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

Kod:

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

Langkah 4: Jalankan kod ini, dengan menekan kekunci F5 atau anda juga boleh menjalankan kod secara manual seperti yang ditunjukkan dalam tangkapan skrin di bawah.

kotak mesej akan menunjukkan kepada anda nombor teratas larik akan ditunjukkan dalam kotak mesej.

Seperti ini dengan menggunakan fungsi Excel VBA UBOUND, kita boleh mendapatkan panjang teratas dari array.

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

Andaikan anda mempunyai senarai data dalam satu helaian excel seperti di bawah.

Data ini akan dikemas kini setiap hari dan anda perlu menyalin data ini ke helaian baru setiap kali ia dikemas kini. Mengemas kini ini secara manual akan memerlukan banyak masa di tempat kerja anda tetapi saya akan menunjukkan kepada anda kod makro mudah untuk mengautomasikannya.

Langkah 1: Buat makro dan tentukan pemboleh ubah array.

Kod:

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

Langkah 2: Sekarang aktifkan lembar data dengan merujuk namanya.

Kod:

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

Langkah 3: Sekarang tetapkan julat data ke pemboleh ubah yang ditentukan dengan menggunakan kod di bawah.

Kod:

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

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

Kod:

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

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

Kod:

 Sub Ubound_Example2 () Dim DataRange () Sebagai Variant Sheets ("Data Sheet"). Aktifkan DataRange = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) Lembaran kerja. Tambah Julat (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = Sub Data End Range 

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

Langkah 6: Sekarang jalankan kod ini, ia akan menampal nilainya ke helaian 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.