関数・メソッド

セルが結合しているかどうか判断する【MergeCellsプロパティ】【ExcelVBA】

構文

Range.MergeCells/Range.MergeCells = expression

expression・・・Trueセルを結合する。Falseセル結合を解除する
Range.MegeCellsのみであれば、セルが結合されているかどうか判別します。
Range.MegeCells =True or False を指定するとセル結合、もしくはセル結合解除が可能です。
※セル結合、結合解除はMergeプロパティでも設定可能です。

セルが結合されているかどうか判断するサンプルコード

Public Sub test()
    
    '■サンプルでA1:B3を結合する
    Range("A1:B3").Merge True
    
    '■結合されていたらどの位置でもTrueを返す
    Debug.Print Range("A1").MergeCells 'True
    Debug.Print Range("B2").MergeCells 'True
    
    '■結合されていなければFalseを返す
    Debug.Print Range("A4").MergeCells 'False

    '■If文で判定も可能
    If Range("A4").MergeCells = True Then
        Debug.Print "true"
    Else
        Debug.Print "false" '今回は結合されていないのでFalse
    End If

End Sub

セルの結合、セル結合解除を一行でコードを書く

Boolean型のフラグを反転させるコードを1行で書く(True→False/False→True)【ExcelVBA】と考えは一緒です。


Public Sub test()
    
    '■セル「A1:B3」が結合されている →結合解除
    '■セル「A1:B3」が結合されていない→結合
    Range("A1:B3").MergeCells = Not Range("A1:B3").MergeCells

End Sub


注意点

関連記事

セルを結合/結合解除する【Mergeメソッド/UnMergeメソッド】【ExcelVBA】
「Ctrl+Shift+Q」で「セル結合・セル結合解除」をパーツ化する。【エクセルマクロ】
結合セルの情報を取得する【MergeAreaプロパティ】【ExcelVBA】

コメント

タイトルとURLをコピーしました