|    | 
     ▼クリシュファー さん:おじゃまさまです 
 
>歯抜けになってしまうのだけなんとかできればありがたいのですが 
 
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 
 
かんちがいしてるかな? 
 
 | 
     
    
   |