• ベストアンサー

excel vba

excel VBA (質問1) B7 セルに,DOC20071201_1231.xlsとはいっているとき下記の動作と同様のことをB7を使って表現するにはどうすればいいか。 Sub bookwo_open() Workbooks.Open Filename:="C:\Documents and Settings\taktta\My Documents\Log zzz\2007 log\2007年報告\2007年12月分\" & "DOC20071201_1231.xls" End Sub (質問2) A1セルに7とはいっているとき、B7セルに入っているファイルをオープンするには、どうすればいいか。 (A1セルにnとはいっているとき、Bnセルに入っているファイルをオープンするには、どうすればいいか。)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

何でこんな質問が出るの? Filename:="・・の””内は文字列と割り切ればよいのだ。 複雑なように惑わされているだけ。 だから (1)指定のセルに入っている部分はその文字列を利用し (2)多分前部の不足するところは、自分が定数の文字列で定義し、 (または場合によってはCurDir()など使える場合あり) (2)と(1)を&で文字列結合すればよい。 >A1セルにnとはいっているとき、Bnセルに入っている こんなのVBAならX=Cells(1、”A")でA1の値7が取れるから Y=Cells(X、”B")を文字列に使えばよいだけの話では。

taktta
質問者

お礼

このように使うということがよくわかりました。このような質問は今後hしないほどとくわかりました。有難うございました。

その他の回答 (1)

  • lark_0925
  • ベストアンサー率63% (37/58)
回答No.1

Sub bookwo_open()   Workbooks.Open _      Filename:="C:\Documents and Settings\taktta\My Documents\Log zzz\2007 log\2007年報告\2007年12月分\" & _        range("b" & [a1].value).value End Sub もっともデータが入っているシートがアクティブであることを 想定しています。

taktta
質問者

お礼

使いかたがよくわかりました。&range("B"&[A1].value).valueなんですね。ご回答どうもありがとうございました。

関連するQ&A