まるなげ。

| コメント(0)

全部混合。

会社で見直そうね。

ifでシートがあるかどうかを判別し、

あったらコピー、なければ次へって感じでどうかなと今は思ってる


'■やりたいイメージ
'   新しいブックにコピーしたい
'   シート数の分だけ繰り返す

Sub 任意のシートを別ブックにコピー()

    Dim teisyutsu As Workbook       '提出用ファイル
    Dim sagyou As Workbook          '作業用ファイル
    Dim yousosuu As Long         '配列の要素に使える添え字の最大数。配列は0スタート
    Dim useraddress As Variant      'コピーしたいシート名を格納する
    
    
    
  Dim Sht As Worksheet                      'コピー元のシート?
    
    
    
    'シート名を配列に格納するよ
    useraddress = Array("コピーしたいシート", "これも", "ああ、これも")
    
    
    
    Set teisyutsu = Workbooks("まとめ.xlsx")   '起動しておかないとここで実行エラーがでる
    
    
      For Each Sht In useraddress         'シート数を取得して、その回数まわす
      If Sht.Visible = True Then
          Sht.Copy After:=teisyutsu.Worksheets(teisyutsu.Worksheets.Count)    '取得した最後のシートの後ろにコピー
          ActiveSheet.Cells.Copy
          ActiveSheet.Cells(1).PasteSpecial Paste:=xlValues
          Application.CutCopyMode = False
      End If
  Next Sht
    
    
    
    
    
    
    'MsgBox UBound(useraddress)      '配列数とれた!添え字の最大数だけど
    'MsgBox useraddress(2)   'シート番号とれた!
    
    '-----------------------------------------------
    
    '配列に格納したシートの番号を取得して、
    'それをシートコピー、値はりつけをする。
    'それを指定したシートの数だけくりかえす。
    '動作確認済みのやつ。
    'ただし、「新しいブックにシートをコピーする」ってのが
    'できてないので注意
    
    '-----------------------------------------------
    










End Sub


'この下は動作確認OK!

Sub 元ブックから全シートを開いている別ブックにコピー()

    Dim Matome As Workbook      'まとめたいブック
    Dim Moto As Workbook        'コピー元になるブック
  Dim Sht As Worksheet                      'コピー元のシート?
    
    
    Set Moto = ThisWorkbook     '元のブックに、このファイルをセット
    Set Matome = Workbooks("まとめ.xlsx")   '起動しておかないとここで実行エラーがでる
    
  For Each Sht In Moto.Worksheets         'シート数を取得して、その回数まわす
      If Sht.Visible = True Then
          Sht.Copy After:=Matome.Worksheets(Matome.Worksheets.Count)    '取得した最後のシートの後ろにコピー
          ActiveSheet.Cells.Copy
          ActiveSheet.Cells(1).PasteSpecial Paste:=xlValues
          Application.CutCopyMode = False
      End If
  Next Sht


End Sub

 

コメントする