【VBA】結合されたセルを開かずに(外部参照で)コピーする方法
手作業で結合されたセルの情報をコピーするのは時間がかかります。この記事では、VBAを使用して結合されたセルを開かずに外部参照で簡単にコピーする方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub CopyMergedCells()
Dim wsSource As Worksheet, wsTarget As Worksheet
Dim lastRow As Long, i As Long
Set wsSource = ThisWorkbook.Sheets("Sheet1")
Set wsTarget = ThisWorkbook.Sheets("Sheet2")
Application.ScreenUpdating = False
' 元のシートから結合セルを取得する
For Each cell In wsSource.UsedRange.SpecialCells(xlCellTypeConstants)
If cell.MergeCells Then
lastRow = wsTarget.Cells(wsTarget.Rows.Count, "A").End(xlUp).Row + 1
wsSource.Range(cell.Address).Copy Destination:=wsTarget.Cells(lastRow, 1)
End If
Next cell
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。