Excel VBA Unionは複数範囲(Rangeオブジェクト)を1つの範囲として合体

 

Excel VBA Union関数は、複数の範囲(Rangeオブジェクト)を1つの範囲として合体するために使用します。合体した範囲を操作することで、コードの効率性を向上させられます。具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA Unionを利用

以下のようなシーンで利用されます。

・複数のセル範囲を一度に選択したり、フォーマットを適用する。

・複数の異なる範囲に対して同じ操作(例:値の変更、フォーマットの適用)を一度に実行する。

 

使い方

Union(Range1, Range2, ...)

Range1, Range2, ...は、合体したい複数の範囲を指定します。

 

ポイント

・Union関数を使用する際、合体する範囲は同じシート上。

・範囲が重複している場合でもエラーは発生しませんが、操作によっては意図しない結果になる可能性があります。

 

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のスキルを証明できるようにしませんか? Excel VBA エキスパート資格は、VBAプログラミングの専門家としての信頼性を高めキャリアの成長に大きく貢献し、求人市場での競争力を高め、キャリア機会を拡大します。

 

当サイトでは、Excel VBAエキスパート認定資格取得に役立つ情報を提供しています。まずは問題集から挑戦してみませんか?

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。