• ベストアンサー

エクセルVBAについての質問です。

エクセルVBAについての質問です。まったくの初心者です。 閉じたままの他のブックBのSheet1 C7セルからデータを取得して作業中のブックA Sheet1 H7セルに記入したいのです。 どうかご指導お願いいたします。 まったくの初心者で、本やネットを漁っているのですが、何日かかってもできません。センスないんだと思いますが、あきらめきれずの質問です。アドバイスいただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ごく簡単に実現できる方法の一つとしては sub macro1() worksheets("Sheet1").range("H7").formula = "'c:\ブックの保存場所\[BookB.xls]Sheet1'!C7" end sub これだって、あなたのブックBが具体的にどこに保存してあって、拡張子はどーなっててとか、あなたの実際に合わせて修正しなきゃならないのは判りますね。 また次のステップとしては sub macro1()  with worksheets("Sheet1").range("H7")   .formula = "'c:\ブックの保存場所\[BookB.xls]Sheet1'!C7"   .value = .value  end with end sub といった細工になります。 >本やネットを漁っている ネットを漁ってみると、たとえば http://officetanaka.net/excel/vba/tips/tips28.htm といった方法がすぐにヒットします。 >センスないんだと思いますが、あきらめきれずの質問です。 まずお手本の「全くその通り」を実際に手を動かしてやってみて、確かにその通りに出来ることを確認します。 次に、そこから一つずつ次のご自分のヤリタイ事に近づけて、一歩一歩マクロを改良していきます。 >まったくの初心者で、本やネットを漁っている そもそもで言えば、間違った方向を目指してるだけです。ごく基本の概念として、マクロ単独では「閉じたブックから値を引っ張ってくる方法はそもそもありません」というのが出発点になります。 #ネットとか漁っても、「できる」事は書いてあっても「できない事」とかイチイチ書いてあったりしませんからね。(エクセルにできない事、口笛を吹くとか。イチイチ書いてたらキリがありません)

rin19_4621
質問者

お礼

お忙しい中早々のご回答ありがとうございます。はい、、ご指摘のとおりです。お恥ずかしいです。いただいたコードやタナカさんのページで、実際に組みなおして再度チャレンジしてみます。とても的確なご指導をありがとうございます。

その他の回答 (1)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

何を、どう、どのように調べたのかわかりませんが、 ・Bを開く ・転記する ・Bを閉じる と言う常道から始めてみませんか。 これなら少し調べれば出来ますよ。

rin19_4621
質問者

お礼

お忙しい中、早々にご指導ありがとうございます。質問の仕方から失敗でした。。失礼しました。おっしゃるとおり、頭からきれいなコードを目指してしまっていたので、自分で理解しながら進めていきたいと思います。ありがとうございます。