配列の次元を調べる関数
'配列の次元数を調べる関数
Function GetDimension(array_ As Variant) As Long Dim dimension As Long: dimension = 1 Dim dummy As Long 'エラーが起きるまで処理をまわす On Error Resume Next While Err.Number = 0 dummy = UBound(array_, dimension) dimension = dimension + 1 Wend 'エラーが起きた値から2引いたものがその配列の次元になる GetDimension = dimension - 2 End Function
使用サンプル
Sub ボタン1_Click() Dim hoge As Variant hoge = ThisWorkbook.Sheets(1).Range("A1:A10") '2次元なので2 MsgBox GetDimension(hoge) '次元変更 ReDim hoge(1, 2, 3) '3次元なので3 MsgBox GetDimension(hoge) End Sub