SSブログ

[VBA]複数のセルオブジェクトを1つのセルオブジェクトに統合する。 [Programming ExcelVBA]

[はじめに]
・あまり知られていないかもしれませんが、
 複数のセルオブジェクトを、1つのセルオブジェクトに統合することができます。
 ※Union関数を使用。

 統合後のセルに対して、
 プロパティやメソッドにアクセスすると、
 統合前のセルすべてに対して、アクセスすることと同じ意味になります。
 複数のセルオブジェクトをまとめて処理したい場合に、便利です。
 ※[注意]セルの結合ではありません。

 以下は、
 「A1」、「B2:D5」、「D3,D5」の複数のセル領域を統合して、
 「Hello」の文字列を設定する例です。
  備忘録としてサンプルソースを掲載します。

[ソース]
Private Sub UnionSample()

    Dim cellArray() As Variant
    Dim cellUnion As Range
    Dim cell As Variant
    
    '① 統合前のセルを定義
    cellArray = Array(Range("A1"), Range("B2:C5"), Range("D3:F5"))
    
    '② ①で定義したセルを
    '  1つのセルオブジェクトに統合する。
    For Each cell In cellArray
        If cellUnion Is Nothing Then
            '初回のみセルを設定
            Set cellUnion = cell
        Else
            '2回目以降は、セルを統合する。
            Set cellUnion = Union(cellUnion, cell)
        End If
    
    Next
    
    '③ 統合後のセルに値を設定。
    cellUnion.Value = "Hello"

End Sub
[VBA]複数のセルオブジェクトを1つのセルオブジェクトに統合する。

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。