動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2509(ビルド19231.20156クイック実行)
「vba mergecells 範囲」
といった検索でアクセスがありました。
何を調べていらしたのかいくつかの可能性が考えられる検索キーワードです。
Range.MergeCellsプロパティで、セル結合されていることが判定できたときに、どのセル範囲が結合されているかを取得する方法を調べていらしたのかもしれません。
[スポンサードリンク]
セル結合されているか判定して結合範囲を取得するサンプルマクロ
以下のExcelマクロを参考にしてください。
Sub セル結合されているか判定して結合範囲を取得する()
If ActiveCell.MergeCells Then
MsgBox _
ActiveCell.MergeArea.Address(False, False) & _
"セルが、結合されています!"
Else
MsgBox "セル結合されていません。"
End If
End Sub
If ActiveCell.MergeCells Then
MsgBox _
ActiveCell.MergeArea.Address(False, False) & _
"セルが、結合されています!"
Else
MsgBox "セル結合されていません。"
End If
End Sub
アクティブセルが結合されているセルのときに、
「〇:〇セルが、結合されています!」
といったメッセージボックスが表示されます。
サンプルマクロで行っている処理
Range.MergeCellsプロパティは、セル結合されているかどうかを取得/設定するプロパティです。
上記のマクロではIf文で、このRange.MergeCellsプロパティを使っています。
If ActiveCell.MergeCells Then
結合されているセル範囲を表すRangeオブジェクトを取得するには、Range.MergeAreaプロパティを使います。
上記のマクロではRange.MergeCellsプロパティでセル結合されていると判定したときに、Range.MergeAreaプロパティで結合範囲を表すRangeオブジェクトを取得して、
If ActiveCell.MergeCells Then MsgBox _ ActiveCell.MergeArea.Address(False, False) & _
Range.Addressプロパティでセル番地を取得しています。
If ActiveCell.MergeCells Then MsgBox _ ActiveCell.MergeArea.Address(False, False) & _
[スポンサードリンク]
Home » Excel VBA Rangeオブジェクト » 結合セル » MergeCellsでセル結合されているか判定して結合範囲を取得する