Если вы программируете макросы, вы уже знаете, что можете определять массивы переменных, которые используются для хранения похожих данных. Например, массив 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 — самая популярная программа для обработки текстов в мире.) Этот совет (1436) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

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