VB6VBもしくはVBAで動的配列に要素数を設定する前の状態を確認したい場合の方法を下記に明記しておきます。私はAccessによる開発をよく行うのですが(PHPの開発も同じく多いです)、その時にVBAは欠かせない物です。そのVBAでは動的配列をよく使用します。下記のようなプログラムです。Sub通常、プログラムは上記のようにDimで動的配列を宣言しReDimで要素数を設定。設定した配列に各値をセットしています。時と場合によってReDimで要素数を設定する前の状態で、その配列に要素数がセットしてあるかどうかをチェックする場合があります。した場合UBound(var)で、要素数の数を取得すればいいような気がするのですが、ReDimの前でUBoundを行うとエラー番号「9」の「インデックスが有効範囲にありません。」で怒られてしまいます。やってReDimの前の状態で要素数がセットされているのかチェックする方法を下記に紹介しますErrを使うまずはオーソドックスな方法としてエラー処理で取得する方法です。Notを使うこれはどうしてこのような方法でわかるのかはよくわかりませんが、この方法でもチェックはできます。SubSgn関数を使う関数にSgn関数というのがあります。この関数は引数にセットした数字の正負を求める関数なのですが、この関数でも調べることができます。SubAPIを使う最後の手段としてAPIを使う方法があります。Sub最後に上記のどの方法を使用してもいいですが、2つめの方法が一番スマートな方法のような気がしますが、1番目のErrの方法が無難かな。それにしてもDimで変数を宣言したときの変数って何なんでしょうね?ちょっと調べると「NullReferenceException」という言葉が見つかりましたが、NullでもEmptyでもないとはよくわかりません。08:34Sgn関数でNull判定ができてしまう理由が、なぜかはよくわからないなら公開しないほうがいいと思います。配列のNull判定にSgn関数を使うべきでない理由が書かれたサイト見つけました。コメントをキャンセルメールアドレスが公開されることはありません。Accessを使った業務用ソフトウェアの提供やホームページ、ブログシステムの制作、Webを使った業務システムの開発を静岡県浜松市で行っています。