| 
    
     |  | よろしくお願いいたします 
 下記の記述を簡略化することはできますでしょうか
 よろしくお願いいたします
 
 
 Private Sub CommandButton1_Click()
 
 Sheet2.Range("A1:AG60").Value = Sheet15.Range("A1:AG60").Value
 Sheet2.Range("W5:AG5").Value = Format$(Now(), "ggge年mm月dd日(aaa)")
 
 
 Dim i As Long
 Dim lngRow As Long
 Dim lngColumn As Long
 Dim 行 As Long
 行 = ActiveCell.Row
 
 For i = 1 To 37 'チェックボックスの番号
 If Me.Controls("CheckBox" & i) Then
 lngColumn = (j Mod 4) * 8
 lngRow = (j \ 4) * 2
 ActiveSheet.Cells(行, 6 + i - 1).Copy _
 Sheet2.Cells(6 + lngRow, _
 3 + lngColumn).Resize(2, 7)
 
 j = j + 1
 End If
 Next i
 
 Sheet2.Range("Y25:AG26") = ComboBox1.Text '送信者
 Sheet2.Range("L32:AG36") = "仮設トイレ、水道、電気" '用件
 Cells(行, "B").Copy Sheet2.Range("L39:R41") '工事名
 Cells(行, "D").Copy Sheet2.Range("AA39:AG41") '監督名
 Cells(行, "C").Copy Sheet2.Range("L44:AG46") '工事場所
 Sheet2.Range("A48:K56") = "希望設置日" '希望設置日
 Sheet2.Range("L51:AG53").Value = Format(Calendar1.Value, "ggge年mm月dd日(aaa)") 'カレンダーから摘出
 Sheet2.Range("L57:AG60") = TextBox1.Text '備考
 
 Dim myMSG As String
 Dim myFlg As Boolean
 Dim x As Long
 
 myFlg = False
 For x = 1 To 37 'チェックボックスの番号
 If Me.Controls("CheckBox" & x).Value = True Then
 myMSG = myMSG & Me.Controls("CheckBox" & x).Caption & vbCrLf
 myFlg = True
 End If
 Next x
 
 If myFlg = True Then
 myMSG = myMSG & "宛てで宜しいですか?"
 If MsgBox(myMSG, vbInformation + vbYesNo) = vbYes Then
 Sheet2.Activate
 Me.Hide
 ActiveWindow.ActiveSheet.PrintPreview
 Me.Show vbModeless
 End If
 Else
 myMSG = "いずれにもチェックが入っていません"
 MsgBox myMSG
 End If
 
 End Sub
 
 |  |