私は数十ダースのExcelファイルを持っていますが、それらはすべて同じフォーマットです(つまり、Excelファイルごとに4つのワークシート)。すべてのファイルを1つのマスターファイルにまとめ、4つのワークシートのうち2つだけを含める必要があります。各Excelファイルの対応するワークシートは、列見出しとまったく同じ名前が付けられています。
各ファイルは同じように構成されていますが、シート1と2の情報(たとえば)は異なります。そのため、すべてを1枚のシートにまとめて1つのファイルにまとめることはできません。
私はこれまでVBAを使ったことがないので、このタスクをどこから始めればよいかと思います。
あなたはそれらを一枚のシートにしたかったので、私は上記があなたが探していたものではないと思います。
データをマージするために、Microsoft Accessを使用します。特に、異なるシートが同じような識別子(部品番号/担当者/ ect)を持っている場合。
結合するスプレッドシートごとに「テーブル」を作成します。目的の列を1つのシートにプルする「クエリ」を作成します。
Excel用の 統合ワークシートWizardアドイン を参照してください。
アドインにはいくつかのマージモードがあり、そのうちの1つはまさにあなたが必要としていることを行います。
モードの詳細な説明については、このリンク を参照してください(同じ名前のシートを1つに組み合わせる方法)。
このアドインはシェアウェアですが、15日間の全機能試用版(ページ上部のダウンロードボタン)を持っているので、無数のワークブックを無料でマージできます。
ここで はPythonの解決策です。
import glob
import pandas as pd
path = "<path to files>"
file_identifier = "*.xlsx"
all_data = pd.DataFrame()
for f in glob.glob(path + "/*" + file_identifier):
df = pd.read_Excel(f)
all_data = all_data.append(df,ignore_index=True)
今日私はこのリンクに出会いました RDBMerge、Excel用Excelマージアドインfor Windows 、これが目的にかなうと思います。これは無料のマクロベースです。ツール。
選択したワークシートは、元のワークブックからあなたの「マスター」ワークブックに移動またはコピーされます。気になるワークシートをすべてまとめて1つの大きなブックにまとめるまで、ソースのブックを閉じて、次のブックをもう一度実行してください。必ず保存してください。