Excel VBA質問箱 IV

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

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


1197 / 76734 ←次へ | 前へ→

【81192】別ブックの同一シート全てにコピペしたい
質問  初心者です。  - 20/3/4(水) 21:22 -

引用なし
パスワード
   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枚目以降も集約元のシートへペーストしたいのですが、
改善点を教えていただけると助かります。

わかりにくい説明かもしれませんが、どうぞよろしくお願いいたします。

7 hits

【81192】別ブックの同一シート全てにコピペしたい 初心者です。 20/3/4(水) 21:22 質問[未読]
【81193】Re:別ブックの同一シート全てにコピペしたい マナ 20/3/4(水) 22:24 発言[未読]
【81194】Re:別ブックの同一シート全てにコピペしたい [名前なし] 20/3/5(木) 2:03 発言[未読]
【81197】Re:別ブックの同一シート全てにコピペしたい マナ 20/3/5(木) 18:36 発言[未読]
【81201】Re:別ブックの同一シート全てにコピペしたい 初心者 20/3/6(金) 0:05 お礼[未読]
【81203】Re:別ブックの同一シート全てにコピペしたい マナ 20/3/6(金) 18:59 発言[未読]

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