dポイントプレゼントキャンペーン実施中!

画面に開いている複数のエクセルをコピーして、別のエクセルに一つのデータにしたい場合、どのような式を書けばいいですか?

A 回答 (1件)

こんばんは



情報がほとんどないためコードにもならないので、考え方のみですが・・

>画面に開いている複数のエクセル
同一スレッドであると仮定してよいのなら、For Eachでスレッド内の全ブックを走査できますので、順に処理すれば良いでしょう。
(指定の順があるなら、一旦ブックを取得してから、指定順で処理すればよい)

例えば、開いているブック名を順に表示するなら
 For Each wb In Workbooks
  MsgBox wb.Name
 Next wb
といった感じ。
名前を表示する代わりに、なさりたい内容を記述すれば良いです。

「別のエクセル」というのが上記に含まれているのかわかりませんが、含まれているのなら、そのブックだけスキップすれば良いでしょう。
(上記のループでは、PERSONAL.XLSBなども対象になりますのでご注意)


>どのような式を書けばいいですか?
何をどこに転記したいのかも不明ですが・・
 別のエクセル.指定シート.指定セル範囲.Value = _
  転記元ブック.転記元シート.転記したいセル範囲.Value
のような形式で転記することは可能です。
(上例では値の転記のみで、書式や関数式は転記されません。
 そのまま、コピペしたい場合は、Copyメソッドを利用してください。)
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A