結合セルの参照

 

MergeAreaでセル参照

 

Sub test()

    Dim myStr As String

    ’ セルA2:C6を結合する
    Range("A2:C6").Merge
    
    With Range("A2").MergeArea

    ’    Addressでその番地(範囲)を取得 // & vbCrLfは改行の意味

        myStr = "セル結合範囲:" & .Address & vbCrLf

 

    ’    .Rows.Countでその行数を取得

        myStr = myStr & "行数:" & .Rows.Count & vbCrLf

 

    ’    .Columns.Countでその列数を取得

        myStr = myStr & "列数:" & .Columns.Count & vbCrLf

 

    ’    .Countで結合セルの数合計を取得

        myStr = myStr & "セルの数合計:" & .Count & vbCrLf

 

    ’     .Item(1).Addressで最初のセル番地(つまり左上セル)を取得

        myStr = myStr & "左上セル:" & .Item(1).Address & vbCrLf

 

    ’     .Item(.Count).Addressで最後のセル番地(つまり右下セル)を取得

        myStr = myStr & "右下セル:" & .Item(.Count).Address & vbCrLf

    End With
    
    MsgBox myStr

 

End Sub

 

実行結果

 

 

単純にこれを取得しては、あまり意味はないですが、複雑なシステムを作る際、結合したセルを特定するとく、よく使われます。

 

MergeCellsでセル参照

Sub test2()

    Dim i As Long, myStr As String
    
    For i = 3 To 5
        If Cells(i, 3).MergeCells Then
            myStr = myStr & Cells(i, 3).Address(0, 0) & ": 結合されています。" & vbCrLf
        Else
            myStr = myStr & Cells(i, 3).Address(0, 0) & ": 結合されていません。" & vbCrLf
        End If
    Next i
    MsgBox myStr

 

End Sub

 

実行結果

test2にあるAddress(0, 0)は、セルのアドレスを相対参照で表示されることです。$マーク付きの絶対参照形式で出したい時は、カッコなかの0にすれば良いです。

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る  

 

関連記事 

 

VBA セル罫線操作(罫線太さや色)

VBA セル罫線操作(罫線種類)

VBA セル罫線操作(罫線位置)

VBA セルの操作 文字書体設定

VBA セルの操作 もじ色の設定

VBA セルの操作 背景色の設定

VBA セルの操作 値の代入

VBA始める前の準備

VBAとは?