もどる

 配列の大きさを知りたい(関数:Ubound)

HOMEへ
PRODUCTSへ
LEARNING
LINKへ
LOGO
HeadLine
ORDER FORMへ
Image画像
MailTo:

もどる


(c) Copyright 2005 VBAを基礎から解説 VBA World All rights reserved.
E-Mail:info@vba-world.com
プログラミングをしていると、「処理する配列の大きさを知りたい」という場合が出てきます。

たとえば、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関数を使用して配列の数を取得するため、エラーにならずに表示することが出来る。