Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9884 / 76734 ←次へ | 前へ→

【72406】簡略化
質問  ume E-MAIL  - 12/8/7(火) 18:29 -

引用なし
パスワード
   よろしくお願いいたします

下記の記述を簡略化することはできますでしょうか
よろしくお願いいたします


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

1 hits

【72406】簡略化 ume 12/8/7(火) 18:29 質問
【72428】Re:簡略化 UO3 12/8/9(木) 10:03 発言
【72429】Re:簡略化 UO3 12/8/9(木) 10:07 発言

9884 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free