【Excel VBA】配列が空かどうかを判定する方法

りゅう
こんにちは!りゅう(@ryupong_b)です。
今回は、「配列が空かどうかを判定する方法」について解説していきます。

はじめに

配列の動的確保などをする際、配列が空かどうかを判定することがあります。
マイナーな知識となりますが、覚えておいた方がいいと思いますので、掲載いたします!

 


この記事を読むメリット
  • 配列が空であるかを判定する方法が分かります。

「空」の定義

本記事でご紹介する「空」とは、配列の要素が存在しないことを指します。

りゅう
「要素が存在しない」という表現で伝わらない方については、お手数ですが、後述のサンプルコードを見て頂けると幸いです。

判定方法

配列が空の場合

以下の通り、配列が空の場合は (Not 配列名) を使用します。
配列が空の場合は -1が返却されます。

サンプルコード
Public Sub checkArrayBlank()

    Dim arr() As String ' 配列

    If (Not arr) = -1 Then

        MsgBox "配列が空です。", vbInformation
    Else
        MsgBox "配列が空ではありません。", vbInformation
    End If

End Sub

実行結果

配列が空でない場合

サンプルコード
Public Sub checkArrayBlank()

    Dim arr() As String ' 配列

    ReDim arr(1)    ' 要素を確保

    If (Not arr) = -1 Then

        MsgBox "配列が空です。", vbInformation
    Else
        MsgBox "配列が空ではありません。", vbInformation
    End If

End Sub

実行結果

最後に

いかがでしたでしょうか。
今回ご紹介したテクニックですが、冒頭に説明した通り 配列の動的確保(配列の要素数を増加させる方法)でよく使います。(個人的にですが)

配列の動的確保については以下記事にて解説しておりますので、よろしければ閲覧ください。

あわせて読みたい
【Excel VBA】配列の動的確保(配列の要素数を増やす方法) はじめに 今回は、配列の動的確保について解説していきます。 配列を取り扱うには必須知識だと個人的には思っています。 「動的確保とは?」から説明していきますので、...

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

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

この記事を書いた人

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

コメント

コメントする

CAPTCHA