多数のユーザーから集計表が送られてくるので、いくつかの取り纏めの箇所を経由して集計をまとめようと思います。
マクロでそれぞれの集計表を特定のフォルダに格納し、フォルダ内の対象ファイルを探し、そのファイル名をシートに書き出すところまで行ったのですが、ひとつのファイルのひとつのシートにまとめる方法がわかりません。
(元の集計表は総て同じレイアウトになっています。
これをひとつのシートの下方向に追加していくようにひとつの表にまとめたいのです。)
ある取り纏め担当者は3つのファイルをまとめれば済むかもしれませんが、ある担当者は20個のファイルをまとめないといけないかもしれません。
この後をどうすればよいか、どなたかお教えください。
宜しくお願いいたします。
説明が分かり難いようでしたら申し訳ございません。
No.1ベストアンサー
- 回答日時:
popinnobakaさんこんにちは。
ファイル名をシートに書き出せるということは、ファイル名の取得ができているわけですから、Openメソッドで、ファイルを開くことが可能ですね。次からが、ちょっとややこしいのかもしれませんが、順を追って動作を考えてみます。纏め用のファイルは、すでに開かれているものとします。
1, 送られて来たデータファイルのうち、1個を開く。
2, データがあるシートをアクティブにする。
3, データ範囲を調べて、コピーする。
4, 纏め用のシートのデータ範囲を調べる。
5, 4で調べた範囲より下の列に、3でコピーした値を貼り付ける。
6, データファイルを閉じる。
7, 次のデータファイルを開く。
8, 以降2~7の繰り返し。
データ範囲を調べる作業は重要です。私の場合、次のような関数を作っています。
Function Myrec(cellsColmun As Integer) As Integer
'最下段を調べる
Myrec = Range(Cells(ActiveSheet.Rows.Count, cellsColmun) _
.End(xlUp).Address).Row
End Function
Function Mycol(cellsRow As Integer) As Integer
'最右列を調べる
Mycol = Range(Cells(cellsRow, ActiveSheet.Columns.Count) _
.End(xlToLeft).Address).Column
End Function
また、UsedRange プロパティを用いても良いでしょう。
上記1~8までをコーディングする際に注意する点は、アクティブになっているブック、シートなどを意識しなければならないことです。ファイルのオープン→コピー&ペースト→ファイルクローズが繰り返されるからです。マクロは、纏め用のファイルで実行されることと思いますが、それを明示するには、私はThisWorkbookプロパティを多用しています。
まずは、概要的な提案までにとどめます。
ありがとうございます。
難しそうですが、頑張ってみます。
また分からなくなりましたら宜しくお願いいたします。
取り急ぎお礼申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
大量のCSVデータを1つのエ...
-
複数のcsvファイルを1つのEXCEL...
-
EXCELLの動きが遅い
-
「ほかのアプリケーションを無...
-
EXCELにcsv形式の外部データを...
-
excelインポート時の「実行時エ...
-
VBAでCSVの1行目だけを書き換え...
-
二つのCSVファイルを照らし合わ...
-
エクセル終了時の保存確認メッ...
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
-
VBAを一度起動するとずっと出て...
-
フォルダ内の全ブックのシート...
-
エクセルでツールバーに「縮小...
-
ExcelVBAで今開いているユーザ...
-
Excel2010 PERSONAL.xlsbの挙動...
-
excelが別プロセスで起動してし...
-
エクセルVBA Workbook変数に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
excelインポート時の「実行時エ...
-
「ほかのアプリケーションを無...
-
大量のCSVデータを1つのエ...
-
VBAでCSVの1行目だけを書き換え...
-
CSVファイルの結合(重複データ...
-
複数のcsvファイルを1つのEXCEL...
-
二つのCSVファイルを照らし合わ...
-
datファイル→csvファイル→datフ...
-
EXCELにcsv形式の外部データを...
-
VBAでユーザーフォーム上に参照...
-
【VBA初心者】同じフォルダ内の...
-
【エクセル VBA】CSVファイルの...
-
EXCELLの動きが遅い
-
複数個のascファイルを1つ...
-
複数の同じ様式のエクセルデー...
-
Excel VBAを使った複数のCSVフ...
-
破損したExcelファイルの内容を...
-
エクセル マクロ で助け下さい...
おすすめ情報