VBAやExcelをよく触る方は、結合セルに嫌なイメージがあります。
先方から頂いたマスタデータを開けた時に、結合セルがたくさんだと「おぅ・・・・」となりますよね。
先方は気を利かせて結合セルで作っている為、やめろとも言えません。
ではマクロで解決して、自分が使いやすい形式に変えてしまえばいいです。
下記のようなイメージのマクロを作成します。
結合セルを解除後、同じ値を埋めるサンプルコード
結合セルは見た目はいいです。但し、データベース形式としては最低です。
結合セル情報からデータベース形式に変換をします。
'■結合したセルデータをデーターベース形式に変更する 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
注意点
- 縦の結合、横の結合にも対応しています。
- ActiveSheet.UsedRange としている為、指定シートで行う場合は Set wsをしましょう。
ワークシート名を変数にSetし、短い名前で利用する【マクロ初級者必読】
コメント