- ベストアンサー
エクセルマクロでのエクセルファイル取込について
- エクセルで別のエクセルファイルをマクロで取込み、取込したデータを自動で任意の場所にデータが入力されるような方法を紹介します。
- csvデータの取込は可能ですが、エクセルファイルを直接取込む方法はありません。
- そのため、取込したいエクセルファイルを一度csvで保存してから取込む方法をおすすめします。また、複数のシートの情報を取り込むことも可能です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 エクセルファイルを開いておけばいいだけだと思うのですが・・・? セルのデータは、開いていればブック名からきちんと指定してやれば取得できます。 a = Workbooks("book1.xlsx").Worksheets("sheet1").Range("A1").Value の様な感じ。 開くのもマクロで。
その他の回答 (2)
- WindFaller
- ベストアンサー率57% (465/803)
こんにちは。 すでに回答は出ていますから、こちらは、今の段階では、こちらもコードを出すのは混乱するだけですから、言葉だけにします。 >csvデータの取込は作ることが出来たのですが、エクセルファイルをcsvデータのように取込することは出来ないでしょうか? 前の回答者とは違う方法で、できると言えば、出来ますが、それが、一体、どのようなものかをご希望なさっているかにもよります。 例えば、CSVファイルをExcelで、そのまま開けたり、TextQueryでインポートするとか、いろいろな方法があります。 また、DAOやADOを使う方法や、ダイレクトにセル名指しで吸い上げる方法さえあります。(←これはお勧めしません、書く側が面倒だからです。(^^;) >取込したいエクセルファイルのシートが複数にわかれていて、全シートの情報を取込したいと考えているので、・・ というのは、一つのシートにということでしょうか。曖昧なので、ここらは意味が分かりません。 >一番工数が少なく済む方法 あまり、マクロに工程数というものは、関係ないように思います。自動で動いているのですから。 当たり前ですが、エラー処理を無視すれば、工程数は減りますね。 もし、すでに、他の回答者さんで、満足されているなら、こちらは無視なさってよいです。
お礼
ありがとうございます。
- aozakana_dha
- ベストアンサー率45% (76/168)
私が何か勘違いしているのかもしれませんが、 Workbooks.Open で開いたら任意のセルの値を取得できると思うのですが。 Public Sub sample1() Dim wb As Workbook Set wb = Workbooks.Open("F:book1.xlsx") ThisWorkbook.Worksheets(1).Range("A1").Value = wb.Worksheets(1).Range("A1").Value wb.Close End Sub
お礼
ありがとうございます。
お礼
ありがとうございます。 一番最初に回答をいただけたので、こちらをベストアンサーとさせて頂きます。