VBA UBOUND

UBOUND или также известная как Верхняя граница, эта функция в VBA используется с функцией, противоположной функции LBOUND или также известной как Функция нижней границы. Использование этой функции заключается в определении длины массива в коде и, как следует из названия, UBOUND используется для определения верхнего предела массива.

Функция VBA UBOUND

Как узнать максимальную длину массива в excel? Да, мы можем вручную увидеть и обновить максимальную длину массива, но если вы делаете это все это время, то сегодня это конец, потому что у нас есть функция под названием UBOUND для определения максимальной длины массива. Следуйте этой статье, чтобы узнать больше о функции UBOUND в Excel VBA.

UBOUND означает верхнюю границу. Часто при кодировании нам может потребоваться найти максимальную длину массива. Например, МойРезультат(24) означает имя массива Мой результат содержит 25 значений, потому что массив начинается с нуля, а не с единицы. Таким образом, 24 означает +1, т. е. всего 25 значений.

Здесь максимальная длина массива равна 24. Вместо того, чтобы указывать длину массива вручную, мы можем использовать встроенную функцию UBOUND, чтобы получить максимальную длину массива.

Код: UBOUND (Мой Результат), т.е. UBOUND (24)

Таким образом, функция Excel VBA UBOUND представляет собой верхнюю границу размера массива.

Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой
Например:
Источник: VBA UBOUND (wallstreetmojo.com)

Как использовать функцию VBA UBound в Excel?

Формула VBA UBOUND очень проста, потому что в ней всего два параметра.

UBound (Arrayname [,Dimension])
  • Имя массива: Это имя имени массива, которое мы определили. Например, в приведенном выше примере Мой результат это имя массива.
  • [Dimension]: Если массив имеет более одного измерения, нам нужно указать размерность массива. Если вы проигнорируете его, он будет обрабатывать первое измерение по умолчанию.

Функция Excel VBA UBOUND очень полезна для определения длины циклов во время выполнения циклов.

Примеры функции UBOUND в Excel VBA

Ниже приведены практические примеры функции VBA UBound.

Вы можете скачать этот шаблон функции VBA UBound здесь — Шаблон функции VBA UBound

Пример №1

Чтобы начать разбирательство, позвольте мне написать простой код. Выполните следующие шаги, чтобы применить функцию VBA UBOUND.

Шаг 1: Начать Excel макросExcel макросМакрос в Excel представляет собой серию инструкций в виде кода, который помогает автоматизировать ручные задачи, тем самым экономя время. Excel выполняет эти инструкции шаг за шагом для заданных данных. Например, его можно использовать для автоматизации повторяющихся задач, таких как суммирование, форматирование ячеек, копирование информации и т. д., тем самым быстро заменяя повторяющиеся операции несколькими щелчками мыши.
читать далее
и определите имя переменной.

Код:

Sub Ubound_Example1()
    Dim ArrayLength(0 To 4) As String
VBA UBound Пример 1

Шаг 2: Я назначу значения этому имени массива.

Код:

Sub Ubound_Example1()
  Dim ArrayLength(0 To 4) As String
  ArrayLength(0) = "Hi"
  ArrayLength(1) = "Friend"
  ArrayLength(2) = "Welcome"
  ArrayLength(3) = "to"
  ArrayLength(4) = "VBA Class"
End Sub
vba UBound Пример 1-1

Шаг 3: Теперь, используя окно сообщения с функцией UBOUND, мы увидим максимальную длину массива.

Код:

Sub Ubound_Example1()
  Dim ArrayLength(0 To 4) As String
  ArrayLength(0) = "Hi"
  ArrayLength(1) = "Friend"
  ArrayLength(2) = "Welcome"
  ArrayLength(3) = "to"
  ArrayLength(4) = "VBA Class"
  MsgBox "Upper Bound Length is: " & UBound(ArrayLength)
End Sub
vba UBound Пример 1-2

Шаг 4: Запустите этот код, нажав клавишу F5, или вы также можете запустить код вручную, как показано на снимке экрана ниже.

vba UBound Пример 1-3

Окно сообщения покажет вам номер верхней границы массива, который будет показан в окне сообщения.

vba UBound Пример 1-4

Таким образом, используя функцию Excel VBA UBOUND, мы можем получить верхнюю границу длины массива.

Пример № 2. Использование функции Excel VBA UBOUND для копирования данных

Предположим, у вас есть список данных на одном листе Excel, как показано ниже.

VBA UBound Пример 2

Эти данные будут обновляться ежедневно, и вам необходимо копировать эти данные на новый лист каждый раз, когда они обновляются. Обновление этого вручную займет значительное количество времени на вашем рабочем месте, но я покажу вам простой код макроса, чтобы автоматизировать это.

Шаг 1: Создайте макрос и определите переменную массива.

Код:

Sub Ubound_Example2()
  Dim DataRange() As Variant
End Sub
vba UBound Пример 2-1

Шаг 2: Теперь активируйте таблицу данных, ознакомившись с ее названием.

Код:

Sub Ubound_Example2()
    Dim DataRange() As Variant
    Sheets("Data Sheet").Activate
End Sub
vba UBound Пример 2-2

Шаг 3: Теперь назначьте диапазон данных определенной переменной, используя приведенный ниже код.

Код:

Sub Ubound_Example2()
    Dim DataRange() As Variant
    Sheets("Data Sheet").Activate
    DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight))
End Sub
vba UBound Пример 2-3

Шаг 4: Теперь добавьте новый лист в рабочую книгу.

Код:

Sub Ubound_Example2()
    Dim DataRange() As Variant
    Sheets("Data Sheet").Activate
    DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight))    
    Worksheets.Add
End Sub
Пример 2-4

Шаг 5: Теперь добавьте данные на вновь добавленный лист с помощью функции Excel VBA UBOUND в виде приведенного ниже кода.

Код:

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
Пример 2-5

Приведенный выше код сместит ячейки на максимальную длину, возвращаемую функцией UBOUND, и этот диапазон будет равен значению имени массива «Диапазон данных.

Шаг 6: Теперь запустите этот код. Он вставит значение на новый лист.

vba UBound Пример 2-6

Этот код является динамическим, потому что даже когда данные увеличиваются по горизонтали и вертикали, он автоматически принимает диапазон. Теперь я добавлю несколько фиктивных строк к данным.

Пример 2-7

Теперь я еще раз запущу этот код. Теперь он также добавит новые добавленные строки.

vbaUBound Пример 2-8

Код:

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
vbaUBound Пример 2-9

То, что нужно запомнить

  • UBOUND возвращает максимальную длину массива.
  • Массив начинается с 0, а не с 1.
  • Если вам нужно меньшее значение массива, вам нужно использовать VBA LBOUNDVBA LBOUNDLBound в VBA или «Нижняя граница» извлекает наименьшее число массива. Например, если массив говорит «Dim ArrayCount (от 2 до 10) как String», то с помощью функции LBound мы можем найти наименьшее число длины массива, т.е. 2.читать далее.
  • Если массив имеет более одного измерения, необходимо также указать номер измерения.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.