| 
    
     |  | ▼クリシュファー さん:おじゃまさまです 
 >歯抜けになってしまうのだけなんとかできればありがたいのですが
 
 Copy先セルを覚えておいて、Copyするごとに順に移動していったら
 どうでしょう
 (↓ Copy元シートを Sheet1 と仮定しています)
 
 Option Explicit
 
 Private Sub CommandButton1_Click()
 Dim c As Range
 Dim i As Long
 Dim 行 As Long
 行 = 2 '「行」はどこでどのように決まるのか? 分かりません。
 Set c = Sheet2.Range("C6")
 For i = 1 To 7
 If Me("CheckBox" & i).Value Then
 Sheet1.Cells(行, i + 5).Copy c.Resize(2, 7)
 NextCell c
 End If
 Next
 End Sub
 ’// Copy先セル移動
 Private Sub NextCell(ByRef c As Range)
 If c.Column < 27 Then
 Set c = c.Offset(, 8)
 Else
 Set c = c.Worksheet.Cells(c.Row + 2, "C")
 End If
 End Sub
 
 かんちがいしてるかな?
 
 |  |