
Excel VBA Union関数は、複数の範囲(Rangeオブジェクト)を1つの範囲として合体するために使用します。合体した範囲を操作することで、コードの効率性を向上させられます。使い方や注意点など、サンプルコードをもとに具体的に解説します。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA Unionを利用
以下のようなシーンで利用されます。
・複数のセル範囲を一度に選択したり、フォーマットを適用する。
・複数の異なる範囲に対して同じ操作(例:値の変更、フォーマットの適用)を一度に実行する。
Excel VBA Unionの使い方とポイント
使い方
Union(Range1, Range2, ...)
Range1, Range2, ...は、合体したい複数の範囲を指定します。
ポイント
・Union関数を使用する際、合体する範囲は同じシート上。
・範囲が重複している場合でもエラーは発生しませんが、操作によっては意図しない結果になる可能性があります。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!
👉 VBAエキスパート資格のメリットを詳しく知る
Excel VBA Unionのサンプルコード
2つの異なる範囲を合体し、合体した範囲のフォントを太字にする例
Option Explicit
Sub UnionExample()
Dim rng1 As Range
Dim rng2 As Range
Dim combinedRange As Range
' 範囲を設定
Set rng1 = ThisWorkbook.Sheets("Sheet1").Range("A1:A5")
Set rng2 = ThisWorkbook.Sheets("Sheet1").Range("C1:C5")
' Union関数で範囲を合体
Set combinedRange = Union(rng1, rng2)
' 合体した範囲にフォーマットを適用
combinedRange.Font.Bold = True
End Sub
3つの異なる範囲を合体し、合体した範囲に値を設定する例
Option Explicit
Sub UnionExampleMultipleRanges()
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Dim combinedRange As Range
' 範囲を設定
Set rng1 = ThisWorkbook.Sheets("Sheet1").Range("A1:A5")
Set rng2 = ThisWorkbook.Sheets("Sheet1").Range("C1:C5")
Set rng3 = ThisWorkbook.Sheets("Sheet1").Range("E1:E5")
' Union関数で範囲を合体
Set combinedRange = Union(rng1, rng2, rng3)
' 合体した範囲に値を設定
combinedRange.Value = "Test"
End Sub
Union関数の基本的な使い方とその応用方法を理解し、Excel VBAで複数の範囲を効果的に合体・操作できるようになります。
Excel VBAの資格でキャリアアップ!
就活や転職で有利になるVBAエキスパート資格を解説!