以下に提供するアイデアは、Excel 2010 VBA Win7 でテストされています。ただし、Mac でも同様に機能することを願っています (これは の標準的なプロパティとメソッドのセットであるためRange object
)。これでうまくいかない場合は、回答を削除するようお知らせください。
この単純なコードは、選択した領域に対して機能しますが、他の範囲に変更するのは非常に簡単です。以下のコード内の他のコメント。
Sub Unmerging_Selection()
Dim tmpAddress As String
Dim Cell As Range
'change Selection below for any other range to process
For Each Cell In Selection
'check if cell is merged
If Cell.MergeCells Then
'if so- check the range merged
tmpAddress = Cell.MergeArea.Address
'umnerge
Cell.UnMerge
'put the value of the cell to
Range(tmpAddress) = Cell
End If
Next
End sub
そして、結果の前後を示す写真: