• 締切済み

VBAでExcelのBookの串刺し集計

VBAでExcelのBookの串刺し集計するにはどうすれば良いでしょうか? 同一フォルダ内のファイルをすべて集計したいと思っています。 よろしくお願いします。

みんなの回答

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

サンプルソースです。同じフォルダにある自分以外の*.xlsファイルをの1番目のシートのA1セルの値を合計して表示します。 Sub BookShuukei()   Dim FileName As String   Dim Total As Integer   Dim OpenedBook As Workbook   Dim IsBookOpen As Boolean      FileName = Dir("*.xls")   Application.ScreenUpdating = False   Do While FileName <> ""     If FileName <> ThisWorkbook.Name Then       IsBookOpen = False       For Each OpenedBook In Workbooks         If OpenedBook.Name = FileName Then           IsBookOpen = True           Exit For         End If       Next       If IsBookOpen = False Then         Workbooks.Open (FileName)       End If       Total = Total + Workbooks(FileName).Sheets(1).Range("A1").Value       If IsBookOpen = False Then         Workbooks(FileName).Close       End If     End If     FileName = Dir()   Loop   Application.ScreenUpdating = True   MsgBox (Total) End Sub

nisan23
質問者

お礼

丁寧にコードを書いて頂きありがとうございました。 試させて頂きます。

関連するQ&A

  • 【Excel VBA】串刺し集計について

    Excel VBA初心者です。 串刺し集計について質問させてください。 同じ構成のシートが3つあります。中には数字や文字列が入っています(各シートの同じセルに数字と文字列が入ることは無し)。 串刺しのイメージで数字が入っているセルは合計を、文字列が入っているセルにはどれか1つ(規則もマクロに入れる、例としては○、×、-であれば○など)を合計用の同じセルにいれたいのですが、マクロの組み方をご教授願います。

  • Excel2007での串刺集計について

    Excel2007での串刺集計について、複数のファイルのあるシートを串刺集計する際の方法を詳しくご教授願います。 複数あるファイル名はまちまちです。 串刺したいシート名前もまちまちです。 しかし、シートのつくりは一緒です。 例えば、AファイルのaシートのA1、BファイルのbシートのA1、CファイルのcシートのA1を串刺ししたいのです。 当方Excel2007は初心者なので、宜しくお願い申し上げます。

  • Excel VBA 複数のブックから新しいブックでひとつの表に集計

       A B 1   45 2   62 82 3   51 . . 複数のExcelファイルに上記のような表があります。「B列に数値が入力されており、なおかつA列に数値が未入力のセル」を、1個とカウントし、新しいブックでファイル名別に項目をつくり、表を作成したい考えています。↓ ファイルその(1)  4 ファイルその(2)  6 ファイルその(3)  0 VBA等で集計する方法はあるでしょうか。よろしくお願いいたします。

  • EXCEL VBA 複数ブックの数字を集計したい

    お世話になります。 複数あるEXCELブックの集計をVBAで実施したく、下記質問させていただきます。 デスクトップに「東京支店」というフォルダがあります。 その中には下記の様な"年月+支店名+(担当者名)"というファイル人数分格納されています。 1310東京支店(田中).xls 1310東京支店(山田).xls 1310東京支店(鈴木).xls 1310東京支店(佐藤).xls 各ブックの中は添付の様なフォーマットになっています。 添付の様なフォーマットのシートが担当企業分だけ(A商店~D商店)あり、企業数は担当者によってバラバラです。 目的は各商品の1ヶ月の売上数量を4週に分けて追っていきたいのです。 各商品の売上数量は"合計"で表示され、内訳として"通常"と"特価"に分けられています。 ここまでは各担当者が手入力します。 ここから先が今回VBAでやりたいこととなります。 上記4つの担当者毎の数字を"1310東京支店(集計)"という集計用のブックに集計してフォーマットは添付の担当者毎のブックと同じです。 集計ブックでは担当者も企業も関係なく、とにかく1シートで東京支店の商品別の"売上数量"とその内訳(通常"と"特価")の合算された数字が一目で確認できるようにしたいのです。 例えば、集計ブックの[東京支店集計]というシートに「集計」というボタンを作成して、それを押したら「東京支店」フォルダ配下の担当者毎のブックの数字を全て拾ってきて 最終的には[東京支店集計]という1シートに添付画像のフォーマットで集計したいのです。 分かりづらい説明で大変恐縮ですがどなたかお知恵をお借りできませんでしょうか? よろしくお願い致します。 環境 WindowsXP SP3 Excel2003

  • 串刺し関数のVBAについて

     VBAのエキスパートの方にお願いです。 下記の画像のとおり月単位等で6個項目について、任意の日数で集計しているのですが 串刺し関数では、結構手間がかかりますので VBAのヒントをくださればありがたいのですが なお、毎日入力のシートは、すべて同じです。

  • excelの串刺し集計マクロ

    現在各所から送られてくる同一フォーマット書類(ファイル名は別,シート1枚,名称:sheet1)約150ファイルを 集計ブックと同じフォルダに保存して集計ブックの集計シートで串集計するマクロコードを見つけて便利に使用しております。 が、このたび各所から送られてくる同一フォーマット書類がシート二枚(名称:sheet1,sheet2)に渡る事になりまして、 集計ブックの集計シートもそれぞれ用に2枚必要になり、 1枚目の「集計1シート」には「sheet1」だけを集計し、二枚目の「集計2シート」には「sheet2」だけを集計するのはどうすればよいでしょうか? また、今回追加になったシートは計算シートで、計算式が埋められており、「マクロの記録」なんてのでやってはみましたが、 埋められている計算式が反映されるだけで計算結果が反映されませんでした。 合わせてご教授願えると大変助かります。 老人にお知恵をお貸しください。よろしくお願いいたします。

  • VBA 複数ブックへ書き込み

    VBA初心者です。 1つのフォルダ内にある100(ファイル名001から100)個のエクセルファイル(ブック)の特定の場所(すべてのエクセル ファイルはファイル名は違うが、同一のシート名で同一のセルの構造になっている。 以上に対して、1つのもとになるファイルA(ブック、シート)の特定のセル(同一列の行を上から順次下る)セルの値を先の同一フォルダ内のエクセルファイル100(001~100)個に対して、ブックオープン、特定セルのデリート、特定セルへの書き込み、ブック保存という一連の作業を行いたいです。 多数のファイルから1つの集計ファイルに値を読み込んできて書き込むサンプルはあるようですが、逆に1つのファイルから同一フォルダ内の多数のファイル(ブック)の特定場所に書き込むためのサンプルコードを教えていただけると大変助かります。 以上よろしくお願いいたします。

  • Excelのブック間の串刺し計算について

    Excelのブック間の串刺し計算について VBA超初心者です。同じフォルダ内にファイルがいくつかあり、同じ形式で、sheet1のB4のセルに計があったとして、それをブック間で串刺し集計したいのですが、うまくいきません。どこが悪いのかもわからず、困り果ててます。ご指導お願いします。 Sub BookShuukei() Dim FileName As String Dim Total As Integer Dim OpenedBook As Workbook Dim IsBookOpen As Boolean FileName = Dir("*.xls") Application.ScreenUpdating = False Do While FileName <> "" If FileName <> ThisWorkbook.Name Then IsBookOpen = False For Each OpenedBook In Workbooks If OpenedBook.Name = FileName Then IsBookOpen = True Exit For End If Next If IsBookOpen = False Then Workbooks.Open (FileName) End If Total = Total + Workbooks(FileName).Sheets(1).Range("B4").Value If IsBookOpen = False Then Workbooks(FileName).Close End If End If FileName = Dir() Loop Application.ScreenUpdating = True MsgBox (Total) End Sub

  • 同フォルダ内の串刺し集計と文字列結合のマクロ作成

    同じフォルダ内に同じ形式のファイルがいくつかあり、ブック間で数値の串刺し集計と、文字列を結合して集計できるマクロの作成がしたいです。 フォルダ内には各所から送付されてくる同一フォーマット書類『(回答)**.xls』が多数あります。 「**」にはそれぞれの部署名が入っており、シート名は『回答』となっています。 各ファイルの『回答』シート F5~F32セルまでには数値が入力されています。 同じく各ファイルの『回答』シート G5~G32セルまでには文字列が入力されています。 これらを同一フォルダ内にある『集計ファイル.xls』の『集計』シートに集計をしたいのです。 F列は数値なので串刺し集計、G列はそれぞれバラバラの文字列のため「,」で区切って文字を結合をしたいと思っています。 (G列イメージ) あああ,XX,○△△,・・・ このようなマクロを同一フォルダ内にある『集計ファイル.xls』に作成することはできるのでしょうか? よろしくお願いいたします。

  • エクセル ブック間 串刺し(文字列のみ) 出来ますか?

    エクセルのブック間でテキストを串刺しする方法を教えてください。 50個くらいあるブックの各々の同じシートの同じセルに同じテキストを入力したいと思っています。 計算式で大元ブックを参照する形式ではなく、各々のブックにテキストを打たなければなりません。 方法をご存知でしたら教えてください。 よろしくお願いします。

専門家に質問してみよう