Количество элементов в массиве одноразмерных вариантов в excel
Является ли этот код правильным для определения количества элементов в массиве одноразмерных вариантов в Excel VBA. Предположим, у меня есть вариант массива с именем Array1 с k элементами.
Dim n as Integer
n = UBound(Array1)
Ответ 1
Чтобы получить точный счет, вам нужно сделать UBound - LBound + 1. Это связано с тем, что массивы не должны перейти от индекса 1 к n, они могут начинаться с любого нужного индекса. Здесь пример, где он идет от 3 до 7, что составляет в общей сложности 5 элементов (3, 4, 5, 6 и 7):
Sub tgr()
Dim Array1(3 To 7) As Variant
Dim lNumElements As Long
lNumElements = UBound(Array1) - LBound(Array1) + 1
MsgBox lNumElements
End Sub
Ответ 2
Попробуйте "CountA"
Dim myArray(1 to 10) as String
Dim arrayCount as String
arrayCount = Application.CountA(myArray)
Debug.Print arrayCount