透2017/8/112019/4/24UBound関数、LBound関数って使ってますか?配列の要素数を調べるときに使うと便利な関数です。この記事では、UBound関数、LBound関数についてUBound関数、LBound関数とはUBound関数の使い方LBound関数の使い方といった基本的な内容から、Ubound、LBound関数で配列要素を列挙する方法など具体的な使い方についても解説していきます。今回はUBound関数、LBound関数について、使い方をわかりやすく解説します。まとめUBound関数、LBound関数とはUBound関数は引数に指定した配列で使用できる最も大きいインデックス番号を返します。LBound関数は引数に指定した配列で使用できる最も小さいインデックス番号を返します。配列の要素数を調べるためにLBound関数とUBound関数はよく使われています。要素数は下記の式で求めることができます。1それではこれらの関数の使い方について配列の宣言と一緒にみていきましょう!UBound関数の使い方UBound関数は引数に指定した配列が1次元配列の場合と、2次元以上の多次元配列の場合で引数の指定が変わってきます。引数arraynameでは配列名を指定します。引数dimensionでは次元を指定します。1次元配列の場合1次元配列の場合は、引数に対象となる配列名のみを指定します。サンプルコードで確認しましょう。Sub画像:実行結果このサンプルコードでは配列のインデックス番号の上限値がそれぞれ3、5、11の配列を宣言しています。UBound関数の引数にそれぞれの配列名を指定し、戻り値を表示しています。宣言時に指定した配列のインデックス番号の上限値とUBound関数の戻り値が一致しているのがわかります。多次元配列の場合は、第1引数に対象となる配列名を、第2引数に調べる配列の次元を指定します。それではサンプルコードで確認しましょう。Sub画像:実行結果このサンプルコードでは各次元のインデックス番号の上限値がそれぞれ3、5、11の3次元配列を宣言しています。UBound関数の第2引数にそれぞれの次元を指定し、戻り値を表示しています。宣言時に指定した各次元のインデックス番号の上限値とUBound関数の戻り値が一致しているのがわかります。LBound関数の使い方LBound関数も引数に指定した配列が1次元配列の場合と、2次元以上の多次元配列の場合で引数の指定が変わってきます。引数の指定の仕方はUBound関数と同じです。)1次元配列の場合1次元配列の場合は、引数に対象となる配列名のみを指定します。サンプルコードで確認しましょう。Sub画像:実行結果このサンプルコードでは配列のインデックス番号の下限値がそれぞれ1、3、5の配列を宣言しています。LBound関数の引数にそれぞれの配列名を指定し、戻り値を表示しています。宣言時に指定した配列のインデックス番号の下限値とLBound関数の戻り値が一致しているのがわかります。多次元配列の場合は、第1引数に対象となる配列名を、第2引数に調べる配列の次元を指定します。それではサンプルコードで確認しましょう。Sub画像:実行結果このサンプルコードでは各次元のインデックス番号の下限値がそれぞれ1、3、5の3次元配列を宣言しています。LBound関数の第2引数にそれぞれの次元を指定し、戻り値を表示しています。宣言時に指定した各次元のインデックス番号の下限値とLBound関数の戻り値が一致しているのがわかります。UBound、LBound関数で配列の要素数を取得UBound、LBound関数の使い方をお伝えしましたので、実際に配列の要素数を取得してみましょう。文字列を区切り文字で分割し配列に格納するSplit関数を例にして、格納した要素数を求めてみます。要素数は前述のとおり下記の式で求めることができます。Sub画像:実行結果Split関数の使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。UBound、LBound関数で配列要素を列挙するUBound関数、LBound関数は配列の要素をひとつずつ参照する場合にFor文とあわせてよく使われます。1次元配列の場合1次元配列の場合のサンプルコードを確認しましょう。場合3次元配列の場合のサンプルコードを確認しましょう。Sub画像:実行結果まとめここではUBound関数、LBound関数について説明しました。配列の要素数を調べたり、For文とあわせて要素にひとつずつアクセスする場合に使うと便利です。使いこなすことができるように、この記事を何度も参考にして下さいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。お問合せはこちらでも受け付けています。