当サイトの記事にはプロモーションが含まれています。

初心者でもわかる!VBAのUBound関数の使い方と活用法

パソコンパソコン・スマホ教室
スポンサーリンク
スポンサーリンク

はじめにUBound関数って何だろう?

PowerPointのイメージ

PowerPointのイメージ

こんにちは!今回は、VBA(Visual Basic for Applications)でよく使われる「UBound関数」について、初心者の方にもわかりやすく解説します。パソコンやスマホの操作に自信がない方でも、安心して学べる内容にしていますので、ぜひ最後までご覧ください。

UBound関数とは?

VBAにおける「UBound関数」は、配列(データの集まり)の「最大インデックス番号」を取得するための関数です。配列は、複数のデータを一つの変数で扱うための便利な方法で、例えば、複数の名前や数値をまとめて処理したいときに使います。

例えば、次のような配列を考えてみましょう。

vba
Dim fruits(0 To 4) As String

この配列は、5つの要素(0から4まで)を持っています。UBound関数を使うと、この配列の最大インデックス番号である「4」を取得できます。

vba
MsgBox UBound(fruits)

実行すると、「4」と表示されます。

UBound関数の基本的な使い方

UBound関数は、配列のサイズを動的に扱う際に非常に便利です。例えば、セル範囲を配列に取り込んだ場合、その範囲の行数や列数をUBound関数で取得することができます。

vba
Dim data As Variant
data = Range("B3").Value

Dim lastRow As Long
lastRow = UBound(data, 1)

Dim lastColumn As Long
lastColumn = UBound(data, 2)

MsgBox "最終行: " & lastRow & ", 最終列: " & lastColumn

このコードでは、からB3のセル範囲を配列に取り込み、その最終行と最終列の番号を取得しています。

注意点UBound関数の使い方で気をつけること

UBound関数を使う際には、いくつか注意点があります。

ここがポイント!

  • 配列が初期化されていない場合、UBound関数を使用するとエラーが発生します。配列を使用する前に、必ず初期化(ReDim)を行いましょう。
  • 多次元配列を扱う場合、UBound関数の第2引数で次元を指定する必要があります。例えば、3次元配列の場合は、UBound(arr, 1)、UBound(arr, 2)、UBound(arr, 3)のように指定します。
  • 動的配列を扱う場合、ReDim Preserveを使ってサイズ変更を行うと、元のデータを保持したまま配列のサイズを変更できます。

実際の活用例セル範囲のデータを配列に取り込んで処理する

次に、実際にセル範囲のデータを配列に取り込み、そのデータを処理する例を見てみましょう。

vba
Sub ProcessData()
Dim data As Variant
data = Range("B3").Value

Dim i As Long, j As Long
For i = 1 To UBound(data, 1)
For j = 1 To UBound(data, 2)
data(i, j) = data(i, j) * 2
Next j
Next i

Range("D1:E3").Value = data
End Sub

このコードでは、からB3のセル範囲のデータを配列に取り込み、その各値を2倍にしてD1からE3のセル範囲に出力しています。

よくある質問や疑問

Q1: UBound関数を使うとき、配列のサイズを事前に知っておかないといけませんか?

いいえ、UBound関数は配列のサイズを動的に取得できるので、事前にサイズを知っておく必要はありません。例えば、セル範囲を配列に取り込んだ場合、その範囲の行数や列数をUBound関数で取得できます。

Q2: UBound関数はどんな場面で役立ちますか?

UBound関数は、配列のサイズが変更される可能性がある場合に特に役立ちます。例えば、ユーザーが入力したデータを配列に取り込む場合、そのデータの行数や列数が事前にわからないため、UBound関数で動的に取得して処理を行います。

Q3: UBound関数とLBound関数の違いは何ですか?

LBound関数は配列の最小インデックス番号を取得する関数で、UBound関数は最大インデックス番号を取得する関数です。これらを組み合わせることで、配列の全要素をループ処理することができます。

まとめ

今回は、VBAのUBound関数について、初心者の方にもわかりやすく解説しました。UBound関数を使うことで、配列のサイズを動的に取得し、柔軟なプログラムを作成することができます。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました