1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
'**********************************************************************************************************
' Nazwa: liczWymiary
' Autor: mielk | 2012-03-03
'
' Opis: Funkcja zwraca liczbę wymiarów podanej tablicy VBA.
'
' Argumenty:
' tablica Tablica, której liczba wymiarów ma zostać zwrócona.
'
' Zwraca:
' Integer Liczba wymiarów podanej tablicy VBA.
' Jeżeli podana wartość nie jest tablicą lub jest zadeklarowana jako tablica
' dynamiczna, ale nie przypisano jeszcze do niej liczby wymiarów, zwracana
' jest wartość 0.
'
'
' --- Zmiany ----------------------------------------------------------------------------------------------
' 2012-03-03 mielk Utworzenie funkcji
' 2014-06-15 mielk Zwracany typ zmieniony na Integer, żeby umożliwić zwracanie wartości -1,
' jeżeli podany parametr nie jest w ogóle tablicą.
'**********************************************************************************************************
Public Function liczWymiary(tablica As Variant) As Integer
Const NAZWA_METODY As String = "liczWymiary"
'------------------------------------------------------------------------------------------------------
Dim granica As Long
'------------------------------------------------------------------------------------------------------
If VBA.IsArray(tablica) Then
On Error GoTo NieistniejacyWymiar
Do
granica = UBound(tablica, liczWymiary + 1)
liczWymiary = liczWymiary + 1
Loop
Else
liczWymiary = -1
End If
'----------------------------------------------------------------------------------------------------------
NieistniejacyWymiar:
End Function