[[20160427234922]] 『複数ブックの集計について』(しゅう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数ブックの集計について』(しゅう)

同一フォルダ内にある複数ブックの集計について教えて下さい。

『請求』というフォルダに100ブックのエクセルがあります。

それぞれのブックは3シートに分かれていて、
その中に『集計』というシートがあるので、
そのシートデータを同一フォルダ内のすべてのブックから
一つのブックに集計したいです。

具体的には、『集計』シートのA列に#N/Aエラーと空白以外の数字があれば、
その行ごと、貼り付け先の『大元』ブックのシート1のA2以下に
コピペしたいです。
※集計シートのA列には別シートのデータが反映されるよう関数が
はいっており、事前に並び替えしてるので、エラー値は
下にまとまるようにしてます。

毎月の作業なので、何か良い方法があれば
ご教授下さい。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 おはようございます。

[[20160420202818]] 23:35 『複数のファイル内にある「報告書」を一つのシー...』(りりちゃん☆彡)
と同じですね。
NAエラーをifnaで空白にしておけば、
sub シート統合2()
が、少しの修正で使えます。
まずはご自身で頑張ってみて下さい。

(sy) 2016/04/28(木) 08:20


少し難しかったでしょうか

 Sub test()
    Dim myPath As String, myXls As String
    Dim wb As Workbook, r As Range, dst As Range
    Dim i As Long, n As Long, o As Long

    myPath = ThisWorkbook.Path & "\"
    myXls = Dir(myPath & "*.xls")

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    With ThisWorkbook.Sheets("Sheet1")
        .Range("a1").CurrentRegion.Offset(1).ClearContents
        Set dst = .Range("a2")
    End With

    Do While myXls <> ""
        If myXls <> ThisWorkbook.Name Then
            Set wb = Workbooks.Open(myPath & myXls)
            Set r = wb.Sheets("集計").Range("a1").CurrentRegion
            r.AutoFilter
            r.AutoFilter Field:=1, Criteria1:="<>", _
                        Operator:=xlAnd, Criteria2:="<>#N/A"

            n = r.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1
            If n > 0 Then
                r.Offset(1).Copy
                dst.Offset(o).PasteSpecial xlPasteValues
            End If

            o = o + n
            wb.Close False

        End If

        myXls = Dir()

    Loop

 End Sub

(マナ) 2016/05/04(水) 21:01


sy様
アドバイスありがとうございます。

マナ様
ありがとうございます!
今試せる環境にないので、明日試させていただきます!
ここ数日、悩んでいたので、たいへん助かりました!
まだ少しづつ読み解いてる最中ですが、めちゃめちゃ勉強になります!

(しゅう) 2016/05/05(木) 22:45


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.