- ベストアンサー
閉じたファイルのセルの値を取得するには
お尋ねします。 d:\My Documents\チーム というファイルの中の"Sheet1"のa1にチームの名前を入力しています。 アクティブなブック"チーム名一覧"にコマンドボタンを配置していて、このボタンのCaptionにd:\My Documents\チームの"Sheet1"のa1の値を表示させたいと思っています。 d:\My Documents\チームを開いていれば問題なくできるのですが、閉じたままでa1の値を取得する方法はないでしょうか。 ひょっとしたら、ものすごく単純な質問なのかもしれませんが、どうしてもわかりません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コマンドボタンを配置しているシートのさしさわりのない場所に、例えば、AA1セルに ='d:\My Documents\[チーム.xls]Sheet1'!A1 としておきます。このBookの ThisWorkbook のコードウインドウに Private Sub Workbook_Open() Sheet1.CommandButton1.Caption = Sheet1.Range("AA1") End Sub とします。 他にも色々方法は考えられますが、これがいちばん簡単? 立ち上げると、マクロを有効にするかダイアログが開いて、リンク云々のダイアログが開くはずです。 (このリンク云々のダイアログを表示したくない場合は、オプションで『リンクの自動更新前にメッセージを表示する』をOffにして、Book『チーム』のシートを1つにしておけば出ないはずです。) 質問で、『開いていれば問題なくできるのですが』と書いてあったので、値の取得のみが問題で、ボタン名の表示は問題ないと思っていました。問題ない→フォームのボタンか と思っていました。Captionとあるのでコートロールツールボックスのボタンですね。 ボタンの機能なら、フォームのボタンの方が簡単かもしれません。上記例なら、数式の入力窓で =AA1 で済みます。 ご参考に。
その他の回答 (1)
- nishi6
- ベストアンサー率67% (869/1280)
下のようにすれば持ってこれると思います。(Excel2000です) ='d:\My Documents\[チーム.xls]Sheet1'!A1
補足
説明不足でした。 名前を表示させたい場所はセルではなくて、コントロールボックスから作成したコマンドボタンです。 VBAでセルの値を取得するのに、ファイルを開いているときのやり方は本にのっていたのですが、閉じたままのファイルの中のセルの値を取得する方法がわかりません。 やはり、一度は開いてからでないとできないものなのでしょうか。 ご回答いただき、有り難うございました。
お礼
ご回答を参考にさせていただき、うまくいきました! 昨日は急用でこのページを見る暇がなく、お礼が遅くなりすみませんでした。 これで次の段階に進めます。ありがとうございました。