| 
    
     |  | VBA触り始めの初心者です。 見よう見真似、独学で取り組んでいるので
 至らぬ点が多くあるかとは思いますがよろしくお願いいたします。
 
 本題ですが、
 会社での作業指示表(誰が何時に何をするかといったような横帯グラフのようなもの)
 がグループの主任とグループ1担当、グループ2担当と
 それぞれ別々のブックで出力され、毎月その3グループ分を
 1つのブックにまとめ1日1枚の紙に出力して見やすくしているのですが、
 これを自動化したく下記のマクロを組んでみました。
 
 主任のシートを集約元へ全てコピーする段階はクリアできたので省いています。
 
 Sub WS()
 
 ' グループ1のブックをアクティブ化
 
 Dim myBook As Workbook
 For Each myBook In Workbooks
 If myBook.Name Like "WS_0112_*.xls" Then
 myBook.Activate
 Exit For
 End If
 Next
 
 ' グループ1のブックをシート毎にチェック
 
 Dim Ws As Worksheet
 For Each Ws In Worksheets
 Ws.Activate
 
 ' グループ1の出勤人数のチェック cnt=出勤人数 cnt2=選択範囲閉め
 
 Set MyColumns = Columns("B")
 cnt = WorksheetFunction.CountA(MyColumns)
 Dim cnt2 As Long
 cnt2 = cnt * 2 + 17
 
 ' 集約元へコピーする範囲の指定及びコピー
 
 Rows(18 & ":" & cnt2).Copy
 
 ' グループ1のシート名を宣言
 
 Dim g1name As String
 g1name = ActiveSheet.Name
 
 
 ' 集約元のブックをアクティブ化
 
 Dim myBook2 As Workbook
 For Each myBook2 In Workbooks
 If myBook2.Name Like "集約用*" Then
 myBook2.Activate
 Exit For
 End If
 Next
 
 ' 集約元のブックをシート毎にチェック
 
 Dim WS2 As Worksheet
 For Each WS2 In Worksheets
 WS2.Activate
 
 ' 集約元のシート名を宣言
 
 Dim totalname As String
 totalname = ActiveSheet.Name
 
 Dim ss As Long
 
 
 If totalname = g1name Then
 If Range("A18") = "1" Then
 ss = 1
 Else
 ss = 0
 End If
 If ss = 1 Then
 Range("A22").PasteSpecial
 Else
 Range("A20").PasteSpecial
 End If
 End If
 
 Exit For
 Next
 Next
 
 
 End Sub
 
 
 まだ主任のブックとグループ1のブックをまとめようとしている段階ですが、
 それでもシート1枚目(月の1日目)しかうまくコピペができません。
 コピー元の最終シートが範囲選択されてコピーされているところまでは動いてます。
 1枚目以降も集約元のシートへペーストしたいのですが、
 改善点を教えていただけると助かります。
 
 わかりにくい説明かもしれませんが、どうぞよろしくお願いいたします。
 
 |  |