【Excel VBA】配列の要素数を取得する方法

めい
配列をループさせたいんだけど、要素数って取れない?
りゅう
今回は、「配列の要素数の取得方法」について解説していきます。
はじめに

配列はループして回すことが多いと思います。
今回は、配列の要素数の取得方法をご紹介します!

この記事を読むメリット
  • 配列の要素数を取得する方法が分かります。
  • 多次元配列の要素数の取得方法も解説します。

構文

配列の要素数を取得する場合、Ubound関数を使います。

Ubound関数

概要

配列の最大要素数を取得します。
主に、Forループの最大数を定義する際に使用することが多いです。

構文

構文

UBound(arrayname, [ dimension ])

引数

# 引数 必須 詳細
1 arrayname 配列変数を指定します。
2 dimension 測定する配列の次元を指定します。
省略すると1次元目の要素数を測定します。

戻り値

戻り値

配列の最大の添え字 (Long型)

使用イメージ

ここからは、実際にコードを動かしながら Ubound関数の挙動を見ていこうと思います。

基本動作の確認

以下のサンプルでは、冒頭で配列を宣言してます。
最後に、Uboundの第二引数を「省略」、「1」、「2」を指定したパターンを見ていきます。

サンプルコード

サンプルコード
Public Sub testUbound()
    Dim arr(3, 2) As String

    ' 配列の1次元目に値を格納
    arr(1, 1) = "A"
    arr(1, 2) = "1"

    ' 配列の2次元目に値を格納
    arr(2, 1) = "B"
    arr(2, 1) = "2"

    ' Uboundの結果を出力
    Debug.Print "Ubound(arr)   :" & UBound(arr)
    Debug.Print "Ubound(arr, 1):" & UBound(arr, 1)
    Debug.Print "Ubound(arr, 2):" & UBound(arr, 2)

End Sub

出力結果

arr(3, 1)には値が入っていませんが、変数宣言時に配列の1次元目には3要素を確保しているので、Ubound(arr, 1)の結果は3となります。

最後に

いかがでしたでしょうか。
配列の要素数については、ループの際などに取得することも多いので必須知識となります。

この記事が、皆さんのお力になれれば嬉しいです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA