空白セルを探してデータを貼り付ける|Excel 一般 |
データが入力されたセル範囲を別シートへコピーする際に、コピー先のシートの空白セルを探して貼り付けます。
次のサンプルは、Sheet1のセル範囲A1:D10をSheet2にコピーします。
Sheet2のA1セルから順に、10行4列のセル範囲に値が入力されているかどうかを確認し、すべてのセルが空白だったら貼り付けます。
値や数式を含むセルがあったら、下方向に10行ずつ範囲をずらして貼り付けます。
Sub Sample()
Dim Flag As Boolean
Dim c As Variant
Const RowCount As Long = 10
Const ColumnCount As Long = 4
Application.ScreenUpdating = False
Sheets("Sheet1").Range("A1").Resize(RowCount, ColumnCount).Copy
Sheets("Sheet2").Select
Range("A1").Activate
Flag = False
Do Until Flag
'貼り付け先のセル範囲がすべて空白かどうかをチェック
For Each c In ActiveCell.Resize(RowCount, ColumnCount)
If IsEmpty(c) Then
Flag = True
Else
'空白でないセルが見つかった
Flag = False
ActiveCell.Offset(RowCount, 0).Activate
Exit For
End If
Next c
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub