- ベストアンサー
EXCEL 別のファイルからシート抽出をしたい
お世話になります。 業務上、毎日、EXCELファイルが作成されます。 (1.xls、2.xls、3.xls・・・というように、毎日段々と増えていきます) それとは別のEXCELファイルを一つ作成して、次のことをしたいと思っています。 ・1.xls、2.xls、3.xls・・・のように、複数あるファイルの中から、一つのファイル、シートを指定し、 シートの内容をそのまま抽出したい。(なお、抽出したいシートの名前は毎回違います) よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
マクロの記録ででも出来ないか考えましたか。全く丸投げでしょう。 WEBでも「VBA 他ブック へシートのコピー」でGoogleででも照会すれば記事が載っている。 下記ではyyyyy.xlsの標準モジュールに Sub test01() Application.ScreenUpdating = False Workbooks.Open (ThisWorkbook.Path & "\" & "xxxxx.xls") Worksheets("検索表").Copy _ After:=Workbooks("yyyyy.xls").Sheets(1) ActiveWorkbook.Close Application.ScreenUpdating = True End Sub xxxxx.xlsのシート「検索表」を、yyyy.xlsのシート1晩左の次にコピー。 指定したシートを1シートに(下の行に次々継ぎ足す)累積していきたいのではないでしょうね。 「抽出」といっているが、「指定した」の方が相応しい用語ではないのか。 あるいは何か条件を付けてデータを抽出するのか。そのことは質問に何も書いてないが。質問なんだから用語に注意。 ーー ブックを開かずになんて色気を出さないこと。
その他の回答 (4)
- hide_m
- ベストアンサー率13% (3/23)
(1)コピーする(原本)のシートをアクティブにする (2)編集をクリック (3)コピーまたは移動を選択 (4)コピー元を選択 (5)チェックボックスにチェックを入れる (6)OKをクリック (7)アラ不思議完成です。
お礼
回答ありがとうございます。 今回、理由があって、コピーする原本をアクティブにしない状態で、 ファイル名&シート名の指定のみでコピーしたいです。
- nayuta_lot
- ベストアンサー率64% (133/205)
こんにちは ここは質問コーナーです。 まったく質問の内容が書かれていないのですが・・ やりたいことだけ書いて、お願いしますはないと思いますよ。 ご自身でマクロで作って見るなりしてから、どこが上手くいかないのか 質問してください。
- yy_kd
- ベストアンサー率25% (5/20)
とりあえず、Fileのリストと各Fileに含まれるシート名を表示して 必要なシートを指定する。次に行いたいことはシートのコピー?なのかな。 コピーの仕方もいろいろある。選択されたシートを各ページごとコピー? 又は選択されたシートを1ページに纏めてコピーするとか・・・・
お礼
回答ありがとうございます。 >とりあえず、Fileのリストと各Fileに含まれるシート名を表示して >必要なシートを指定する。次に行いたいことはシートのコピー?なのかな。 →シートをコピーということでOKです。 >コピーの仕方もいろいろある。選択されたシートを各ページごとコピー? >又は選択されたシートを1ページに纏めてコピーするとか・・・・ →説明が至らずに申し訳ありません。 FILEは複数毎日増えますので複数ですが、各FAILEのシートは1シートのみです。 ので、その指定したFILEの1シートのみをまるっとコピーできれば、と思っております。 よろしくお願いします。
- hide_m
- ベストアンサー率13% (3/23)
質問についての質問です。 >>シートの内容をそのまま抽出したい コピーしたいということですか?
お礼
回答ありがとうございます。 >>シートの内容をそのまま抽出したい >コピーしたいということですか? →シートをまるまるコピーということでOKです。 よろしくお願いします。
お礼
回答ありがとうございます。 >マクロの記録ででも出来ないか考えましたか。全く丸投げでしょう。 →おっしゃる通り、丸投げで申し訳有りません。 検索をして類似質問内容を見つけたのですが、全くVBAがわからないため、 それを改良して・・・ということができませんでした。 >指定したシートを1シートに(下の行に次々継ぎ足す)累積していきたいのではないでしょうね。 →累積の必要はありません。指定したFILEの1シートをコピーできれば、そこまででOKです。 教えて頂いたVBAを試してみます。 ありがとうございました。