Option Explicit
Private NoDim
Private dim1(1 To 10)
Private dim2(1 To 10, 1 To 9)
Private dim3(1 To 10, 1 To 9, 1 To 7)
Private dim4(1 To 10, 1 To 9, 1 To 7, 1 To 6) As Object
Private Sub Command1_Click()
Debug.Print CheckDim(NoDim) & "차원 배열, 0인경우는 배열아님"
Debug.Print CheckDim(dim1) & "차원 배열, 0인경우는 배열아님"
Debug.Print CheckDim(dim2) & "차원 배열, 0인경우는 배열아님"
Debug.Print CheckDim(dim3) & "차원 배열, 0인경우는 배열아님"
Debug.Print CheckDim(dim4) & "차원 배열, 0인경우는 배열아님"
End Sub
Private Function CheckDim(dimN As Variant) As Long
Dim i As Long
On Error GoTo End_CheckDim
i = 1
While UBound(dimN, i)
i = i + 1
Wend
End_CheckDim:
Err.Clear
CheckDim = i - 1
End Function
출처 : http://www.devpia.com/Forum/BoardView.aspx?no=189708&ref=189708&page=6&forumname=VB_QA