- 締切済み
複数のエクセルを一つに貼り付け
複数のエクセルファイルを一つのエクセルファイルの中のシートに マクロを利用してデータを貼り付ける方法はありますでしょうか? 実績表というフォルダ内に、下記のエクセルファイルがあります。 ・貼付け元のエクセルファイル名:実績表+3桁数値 →10ファイル ・1つに集計したいエクセルファイル名:実績表 ※その中に、貼付け元のファイル名と同じシート名が10シートあります。 できれば、「値の貼付け」でなはく、数式も含めた状態のデータを貼付けしたい。 是非、マクロのコードを教えていただきたく、宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#252888
回答No.1
例えばこの作業の手順書を作って10人に作業させたら10人が同じ結果を作るはずですか? ならばマクロ化は出来ますよ。 ルールをもって人間が作業することでマクロ化出来ない事なんて無いですから。 っというかこれはただ複数のファイルからシートを集めたいだけのマクロですよね? 入力の10ファイルにシートは1つですか? ならばシートを特定しなくて良いので簡単です。 (1)マルチセレクトONのファイル選択ダイアログを出す →選択したファイルは配列に格納。 (2)出力用のファイルを作成。 ファイル名は実績表.xlsx シートはダミーで1枚。 (3)選択したファイルの数だけ配列を順に読んで以下を繰り返す。 ファイルを開く アクティブシートを出力用ファイルの最後尾にコピー。 入力の全ファイルが同じシート名だとシート名が被るのでコピーしたシート名変更してファイル名をセットする。 ファイルを閉じる。 (4)出力用ファイルの一番左のシートは(2)で作ったダミーなので一番左のシートを削除する。 (5)出力用ファイルを保存して閉じる
お礼
早々のご回答ありがとうございました。 例えばこの作業の手順書を作って10人に作業させたら10人が同じ結果を作るはずですか? →誰がやっても同じ結果になるように作りたいです。 っというかこれはただ複数のファイルからシートを集めたいだけのマクロですよね? →そうです。(簡単なマクロだと思うのですが、現在勉強中で素人なもので・・・ 入力の10ファイルにシートは1つですか? →(1)貼付け元のエクセルファイルは2シートあります。 最初のシートがCSVデータの値を貼り付けたもの、二つ目のシートがそのCSVデータを加工して 表にしたもの・・・ファイル名は実績表111(後ろ3桁数値は任意です)、一つ目のシート名は「貼付111」 二つ目のシート名は「111」です。 (2)完成させたいエクセルファイルは11シートあります。 最初の10シートに(1)の二つ目のシート「111」の10ファイル分のデータを貼り付けたい。 最後の11シート目に1~10までのシートの合計を集計させます。 →シート名は、最初10シートが(1)の二つ目のシートと同じ「111」、最後11シート目のファイル名が 「合計」です。 つたない説明で申し訳ありませんが、宜しくお願い致します。