プログラミングをしていると、「処理する配列の大きさを知りたい」という場合が出てきます。
たとえば、ReDimで配列の大きさとデータをセットするサブ・プロシージャを実行した後に、そのデータを参照したい、という場合です。
配列の大きさが不明(不定)だと、配列の範囲外を指定してしまって、エラーになることがあります。
それを避けるために、Ubound関数を使用して配列の大きさを取得します。 |
| プログラム・コード |
次のようにプログラムを入力する。
Option Explicit
Private Sub Sample_Ubound()
Dim i As Integer
Dim DataArr() As String
ReDim_Sub DataArr
For i = 1 To UBound(DataArr)
MsgBox DataArr(i)
Next i
End Sub
Private Sub ReDim_Sub(DataArr() As String)
Dim intDataNum As Integer
Dim strInput As String
ReDim DataArr(0)
Do
strInput = InputBox("文字を入力してください。" _
& vbCrLf & "リターンのみで終了。")
If strInput = "" Then Exit Sub
intDataNum = intDataNum + 1
ReDim Preserve DataArr(intDataNum)
DataArr(intDataNum) = strInput
Loop
End Sub
|
|
| 実行結果 |
Sample_Ubound() を実行すると、インプット・ボックスに入力した数だけ文字列がメッセージ・ボックスに表示される。
Sample_Ubound() から見ると、入力されるデータの数は不明だが、Ubound関数を使用して配列の数を取得するため、エラーにならずに表示することが出来る。
|