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を多用し、手動作業を減らしたいと考えている方には価値あるものです。

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


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

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

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。

 

ExcelVBAの学習方法で効果的な学び方を知りたい方は、下記「Excel VBA初心者のための効果的な学習ガイド」をご確認ください。