Если вы программируете макросы, вы уже знаете, что можете определять массивы переменных, которые используются для хранения похожих данных. Например, массив sClassNames () можно использовать для хранения имен людей в вашем школьном классе. Рассмотрим следующее, определяющее массив:

Dim sClassNames(29) As String

Этот конкретный код указывает, что массив может содержать 30 строковых значений с использованием индексов от 0 до 29.

В какой-то момент у вас может быть подпрограмма или функция, которой необходимо знать, сколько элементов было определено для массива. Одна встроенная функция VBA, которая пригодится для определения этого, — UBound. Эта функция возвращает значение, указывающее верхнюю границу (самый большой нижний индекс), которая может использоваться с массивом. Например, рассмотрим следующее использование:

iClassSize = UBound(sClassnames)

Когда вы запускаете этот код, iClassSize устанавливается на значение 29. Почему? Поскольку 29 — это самый большой индекс, который можно использовать в sClassNames ()

array — представляет собой верхнюю границу массива.

Если ваши массивы имеют более одного измерения, вы можете добавить еще один аргумент к функции UBound, чтобы указать, для какого измерения вы хотите установить верхнюю границу:

iHighSide = UBound(cPayGrade, 2)

В этом примере iHighSide устанавливается равным верхней границе для второго измерения массива cPayGrade ().

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (12053) применим к Microsoft Word 2007, 2010, 2013 и 2016. Вы можете найти версию этого совета для старого интерфейса меню Word здесь:

link: / word-Determining_the_Upper_Bounds_of_an_Array [Определение верхних границ массива].