VBATips

結合セルをデータベース形式のセルに切り替える【UnMerge応用】【ExcelVBA】

VBAやExcelをよく触る方は、結合セルに嫌なイメージがあります。
先方から頂いたマスタデータを開けた時に、結合セルがたくさんだと「おぅ・・・・」となりますよね。

先方は気を利かせて結合セルで作っている為、やめろとも言えません。

ではマクロで解決して、自分が使いやすい形式に変えてしまえばいいです。
下記のようなイメージのマクロを作成します。

merge→unmerge

結合セルを解除後、同じ値を埋めるサンプルコード

結合セルは見た目はいいです。但し、データベース形式としては最低です。
結合セル情報からデータベース形式に変換をします。


'■結合したセルデータをデータベース形式に変更する
Public Sub test()
    Dim rng As Range
    Dim val As String
    
    '■アクティブシートの全ての使用しているセルを全て処理
    For Each rng In ActiveSheet.UsedRange
    
        '■結合セル(MergeCells = True)なら、結合解除し、値を入れる
        If rng.MergeCells = True Then
            val = rng.Value
            
            With rng.MergeArea
                .UnMerge
                .Value = val
            End With
        End If
    Next rng
End Sub


注意点

関連記事

コメント

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