セルが結合されているかどうかを検出するにはどうすればよいですか?
セルが結合されている場合、値を読み取るにはどうすればよいですか?
セルが結合されているかどうかを示す式はないと思います。独自のパブリックvba関数を作成し、それをコード モジュールに配置して、それをシートで使用できます。
Function IsMerged(rCell As Range) As Boolean
' Returns true if referenced cell is Merged
IsMerged = rCell.MergeCells
End Function
次に、セルをテストするためのExcel式としてA1
:
=IsMerged(A1)
結合されているかどうかに関係なく、VBA でセルの値を読み取る方法を次に示します。
C.MergeArea.Cells(1, 1).Value
C
見たいセルはどこですか。これが機能する方法は、セルが結合されていない場合、MergeArea がセル自体とまったく同じであるということです。それ以外の場合、MergeArea は結合されたセルの範囲です。セルが結合されると、値は一番左上のセルに保持されます。
B と C が常に入力されている場合、セルが結合されているかどうかを判断するための単純な非 VBA メソッドがあります。単純に COUNTA(B2,C2) を実行して合計を確認します。B2 が C2 とマージされた場合、合計は 1 になり、そうでない場合はカウントが 2 になります。