ご案内

ようこそ

火曜日, 6月 12, 2012

ファイル複写 (エクセル マクロ)

エクセルで、集まったファイルからファイルを複写して1つにまとめるプログラム。
以下は、ファイルを開いて閉じるまで。

Sub ファイル複写()
  Dim bookname As String
  Dim pathname As String
  
  pathname = ThisWorkbook.Path & "\"    ←同じフォルダにあるようにする
  bookname = Dir(pathname & "*.xlsx")    ←ファイルを探す
  
  Do Until bookname = ""              ←フォルダの中のファイルをすべて探す
    Workbooks.Open pathname & bookname
    データコピー (bookname)
    Workbooks(bookname).Close SaveChanges:=False
    bookname = Dir()
  Loop
  
End Sub



Sub データコピー(bookname)

    Windows(bookname).Activate
    Sheets("しーと1").Activate
    Range("a:a").Copy

    Windows("集計表.xlsm").Activate
    Sheets("シート1").Activate
    Range("貼り付け場所").Activate
    
    myrows = Range("ファイルの数").Value * 4    ←この4は、4行をコピーしたため
    ActiveCell.Offset(rowOffset:=myrows, columnOffset:=0).Select    'コピー先位置の決定
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A3").Select
    
End Sub

0 件のコメント: