結合セルの左上セルに入力するVBA
Sub MyMergeArea()
Range("B2").Value = "あいうえお"
End Sub
実行結果です。
下の結合セルの範囲は、B2からF4で左上セルのB2にデータ入力すると表示されます。
結合セルの左上セルでないセルに入力するVBA
Sub MyMergeArea()
Range("D3").Value = "あいうえお"
End Sub
結合セルの中央のD3セルにデータを入力すると表示されません。
MergeAreaでデータを入力するVBA
Sub MyMergeArea()
Range("D3").MergeArea.Value = "あいうえお"
End Sub
結合セルの中央のD3セルにMergeAreaを使いデータを入力すると表示できます。
このように、MergeAreaを使うと結合セルの左上セルでなくても、データを入力し表示できます。
配列とCellsを使いForループでまとめて入力するVBA
・Arrayを使用し、配列saを初期化します。
・結合セルは4行置きなので、ForループはStep 4にしています。
・Cellsの位置にMergeAreaでデータを入力しています。Cellsの指定位置は結合セルの左上セルではありません。
Sub MyMergeArea()
Dim i As Long
Dim j As Long
Dim sa As Variant
j = 0
sa = Array("あ1", "あ2", "あ3", "あ4")
For i = 3 To 15 Step 4
Cells(i, 4).MergeArea.Value = sa(j)
j = j + 1
Next
End Sub
実行結果です。
連続する結合セルにまとめて入力することができました。
以上のようにMergeAreaを使うと、結合セルのセル位置を気にしないで、データを入力することができます。