VBA UBound - Як використовувати функцію UBound Excel VBA (приклади)

Зміст:

Anonim

Функція UBound Excel VBA

Як часто ви стикаєтесь з ситуацією, коли вам потрібно згадати максимальну довжину або верхню межу даних масиву, що працюють з Excel? Більшість разів, правда? І як ти знаходиш те саме? Можливо, вручну більшу частину часу. Однак ви можете автоматизувати його та отримати максимальну довжину чи верхню межу масиву за допомогою функції VBA під назвою UBound.

Більше того, у нього є найкрасивіший спосіб прокручування наскрізь. Наприклад, якщо ви використовуєте цикл For у своєму масиві, ви неодмінно хотіли циклічно зафіксувати всі елементи масиву. У такому випадку було б копітка робота виявити верхню межу вручну і згадати її в циклі. Це також зменшить загальність коду. Тому функція VBA UBound стає корисною в таких сценаріях.

UBound означає верхню межу, і це дає верхню межу або максимальну довжину масиву в Excel VBA.

Формула для функції UBound в Excel VBA

Функція UBound Excel VBA має такий синтаксис.

 UBound (ім'я масиву (, розмір)) 

Де,

  • Ім'я масиву : ім'я визначеного масиву. Цей аргумент є обов'язковим / необхідним аргументом.
  • Вимір: Необов’язковий аргумент, який вказує розмірність масиву. Будь це одновимірний, двовимірний або багатовимірний масив. За замовчуванням він буде приймати одновимірний масив, якщо його не вказано.

Оскільки ця функція має лише два аргументи, запам'ятовувати синтаксис цієї функції стає набагато простіше.

Як використовувати функцію UBound Excel VBA?

Ми дізнаємось, як використовувати функцію VBA UBound з кількома прикладами в Excel.

Ви можете завантажити шаблон VBA UBound Excel тут - шаблон VBA UBound Excel

Приклад №1 - VBA UBound з одновимірним масивом

Для використання функції UBound у VBA виконайте наведені нижче дії.

Крок 1. На вкладці Developer натисніть на Visual Basic, щоб відкрити редактор VB.

Крок 2: Клацніть на Вставити та виберіть вкладку Модуль, щоб додати новий порожній модуль у VBE.

Крок 3: У VBE почніть писати макрос і визначте ім'я змінної.

Код:

 Sub Onedm_Ubound () Dim IndiaCity (4) як String End Sub 

Тут змінна IndiaCity визначена з 5 елементами. Тип змінної - рядок.

Примітка: масив починається від 0 (нульовий). Отже, цей масив буде складатися з 5 елементів.

Крок 4: Призначте значення елементів масиву.

Код:

 Sub Onedm_Ubound () Dim IndiaCity (4) As String IndiaCity (0) = "Мумбаї" IndiaCity (1) = "Бенгалуру" IndiaCity (2) = "Хайдерабад" IndiaCity (3) = "Делі" IndiaCity (4) = "Пуне" "Закінчити Sub 

Тут нульовий елемент має значення, призначене як "Мумбаї", Перший елемент має значення, присвоєне "Бенгалуру" тощо.

Крок 5: Використовуйте функцію UBound разом з MsgBox, щоб отримати верхню межу для масиву.

Код:

 Sub Onedm_Ubound () Dim IndiaCity (4) As String IndiaCity (0) = "Мумбаї" IndiaCity (1) = "Бенгалуру" IndiaCity (2) = "Хайдерабад" IndiaCity (3) = "Делі" IndiaCity (4) = "Пуне" Верхня межа "MsgBox" для масиву становить: "& UBound (IndiaCity) Кінцевий підрозділ 

Крок 6: Запустіть цей код, натиснувши F5 безпосередньо або вручну натиснувши кнопку Виконати на верхній лівій панелі. З'явиться вікно з повідомленням " Верхня межа для масиву: 4 ".

Зверніть увагу, що функція UBound не виявляє верхню межу у елементів масиву. Він просто виявляє максимальну кількість елементів, які містить масив.

Приклад №2 - VBA UBound з двовимірним масивом

Для використання функції UBound у VBA виконайте наведені нижче дії.

Крок 1: Визначте змінну, яка може містити двовимірні дані.

Код:

 Sub TwoDm_UBound () Dim Array_Test (0 до 6, 1 to 8) As String End Sub 

Крок 2: Визначте нову змінну Повідомлення та використовуйте її під MsgBox. Ця змінна допоможе нам друкувати верхні межі обох розмірів одночасно.

Код:

 Sub TwoDm_UBound () Dim Array_Test (від 0 до 6, 1 до 8) в якості рядкового затемнення повідомлення MsgBox Message End End Sub 

Крок 3. Тепер спробуйте наступні заяви, які дозволяють системі друкувати обидва розміри масиву під одним і тим же полем повідомлень.

Код:

 Sub TwoDm_UBound () Dim Array_Test (0 - 6, 1 - 8) As String Dim Message Message = "Верхня межа для першого виміру:" & UBound (Array_Test, 1) & vbCrLf Message = Повідомлення & "Верхня межа для другого виміру - : "& UBound (Array_Test, 2) & vbCrLf MsgBox Message End Sub 

Два твердження, згадані у наведеному вище коді, дозволяють системі друкувати обидва розміри в одному полі повідомлення. Перший оператор зберігає значення верхньої межі першого виміру в змінній Message і закінчує рядок (vbCrLf). Друге твердження додає перше значення, присвоєне змінній Message і поєднує його з верхньою межею другого виміру з спливаючим повідомленням.

Оскільки vbCrLf використовується в обох операторах, він працює як повернення нової лінії / каретки тут, в обох операторах.

Крок 4: Запустіть код, натиснувши кнопку F5 або Запустити і подивіться вихід.

На подібних лініях ми можемо перейти до кількох розмірів і побачити верхню межу для кожного з них.

Приклад №3 - Функція UBound для автоматичного оновлення даних у аркуші

Припустимо, у вас є набір даних, як показано на скріншоті нижче.

Ці дані оновлюються, і вам потрібно раз у раз копіювати оновлені дані. Тепер це справді копітка робота завжди перевіряти наявність оновлень даних, а потім копіювати їх на новий аркуш. Це також забирає багато часу. Чи можемо ми спробувати його автоматизувати за допомогою функції UBound у VBA? Подивимось.

Виконайте наведені нижче дії для автоматичного оновлення даних на аркуші за допомогою функції VBA UBound:

Крок 1: Визначте змінну, створивши макрос.

Код:

 Sub Ex3_UBound () Dim DataUpdate () як варіант варіанту Кінець Sub 

Крок 2: Активуйте робочий аркуш, який містить ваші дані. У цьому випадку назва аркуша - " Дані ".

Код:

 Sub Ex3_UBound () Dim DataUpdate () як варіанти варіантів ("Дані"). 

Крок 3: Призначте діапазон до щойно створеної змінної. Для цього ми будемо використовувати діапазон активованих аркушів.

Код:

 Sub Ex3_UBound () Dim DataUpdate () в якості змінних таблиць ("Дані"). Активуйте DataUpdate = Діапазон ("A2", Діапазон ("A1"). Кінець (xlDown). Кінець (xlToRight)) Кінець Sub 

Крок 4: Додайте новий робочий аркуш у свій Excel, де оновлені дані можна скопіювати та вставити.

Код:

 Sub Ex3_UBound () Dim DataUpdate () як варіантні таблиці ("Дані"). Активуйте DataUpdate = Діапазон ("A2", Діапазон ("A1"). Кінець (xlDown). Кінець (xlToRight)) Workheets.Add End Sub 

Крок 5: Тепер скористайтеся наведеним нижче рядком коду, який дозволяє копіювати дані з аркуша "Дані" та вставляти їх у новостворений аркуш excel автоматично.

Код:

 Sub Ex3_UBound () Dim DataUpdate () в якості варіантів таблиць ("Дані"). Активуйте DataUpdate = Діапазон ("A2", Діапазон ("A1"). Кінець (xlDown). Кінець (xlToRight)) Workheets.Add Range (ActiveCell, ActiveCell.Offset (UBound (DataUpdate, 1) - 1, UBound (DataUpdate, 2) - 1)) = DataUpdate End Sub 

Вищевказаний код змістить осередки від аркуша "Дані" до верхньої межі, які можна отримати за допомогою функції UBound та призначить діапазон змінній DataUpdate.

Крок 6: Запустіть код, натиснувши кнопку F5 або Запустити і подивіться вихід.

Як бачите, у робочій книжці Excel доданий новий аркуш, де всі дані з аркуша «Дані» копіюються автоматично.

Це динамічний код. Що я маю на увазі, що це динамічно - це, хоча я додаю колонки та рядки, він автоматично буде скопійований на новий аркуш.

Крок 7: Додамо до даних кілька рядків і стовпців і подивимося, чи справді це працює.

Крок 8: Натисніть кнопку Запустити ще раз після того, як аркуш оновлюється та побачите магію.

Якщо ви бачите, додається новий аркуш (кольоровий) і додається новий стовпець віку разом з двома новими рядками. Це означає, що все, що ми оновлюємо в головному файлі (Дані), цей код автоматично скопіює все з цього і вставить його в новий аркуш.

Що потрібно пам’ятати

  • UBound дає верхню межу / максимальну довжину масиву, а не верхню межу від точок даних, присутніх у масиві.
  • Масив завжди починається з 0- ї позиції як паралельний більшості мов програмування, таких як C, C ++, Python.
  • Якщо ваш масив багатовимірний, вам також потрібно вказати параметр розмірності, який приймає цілі числові значення, такі як 1, 2, 3 і т. Д. 1 означає одновимірне, 2 - двомірне і так далі.

Рекомендовані статті

Це посібник з функції UBA UBound. Тут ми обговорюємо, як використовувати функцію UBound Excel VBA разом з деякими практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Функція розділення VBA з прикладами
  2. Функція верхнього регістру Excel
  3. Матч VBA
  4. Функція СТОЛИНГ в Excel
  5. Як користуватися робочими листами VBA?