同ウィンドウ(一つの親ウィンドウ)にBook1とBook2を開いてある状態では
Book1のVBAで
range("A2")=workbooks("Book2.xls").sheets(1).range("A2")
というマクロを動かせば、
Book1のA2に「100」というデータが出力されます。
しかし、
別ウィンドウ(添付の画像の状態)の場合、
上のようなコードでは
「実行時エラー9 インデックスが有効範囲にありません。」となります。
別々の親ウィンドウでそれぞれのデータを開いているので、
上記と同じコードでは、Book2の場所が把握できていないので
当然エラーになります。
このように、別ウィンドウでBook1、Book2をそれぞれ開いてある状態で、
一方を参照するにはどうやったらいいのでしょうか?
添付の画像は、別ウィンドウで、Book1のボタンを押すと、
Book2を参照して、「100」というデータを取得できたという、
やりたいことのイメージです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは。
それは、初歩的なミスではありませんか?
その画像を見る限りは、保存していないブックのようですから、拡張子を入れたブック名を書いたら、インデックスが有効ではないというエラーが発生します。
×Book2.xls -> Book2
Range("A2") = Workbooks("Book2").Sheets(1).Range("A1").Value
保存したブックなら、拡張子が入りますから、ブック名は有効になります。Window が違っていても、特に、取れないということはありませんね。
この回答への補足
アドバイスありがとうございます。
画像を作る前に、保存したデータ(ちゃんと拡張子がxlsになっている)で
はじめに試したのですが、同じようにエラーになってしまいます。
改めて、試しましたが同じエラーでした。
Workbooks(" ")の中身ですが、もしかしてフルパスではと思い
試しましたが、同じエラーでした。
現在開いている親ウィンドウを対象にしているので、
フルパスは関係ないと思いました。
もしや、親ウィンドウ名の「Microsoft Excel - 」が抜けているから
と思って、Workbooks("Microsoft Excel - Book2.xls") で試しましたが、
同じエラーでした。
Workbooks("親ウィンドウ名.xls")~
っていう形で、基本的にできるのでしょうか?
なんとか解決しました。
指定のウィンドウをオブジェクトで取得して
オブジェクト.sheets(~
と指定したら、なんとかなりました。
この度は誠にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) 起動中のアプリ、ソフトの取得 3 2022/12/28 11:13
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
VBA .Value=.Value ?
-
検索の画面がでなくなってしま...
-
ラジオボタンの初期指定
-
ExcelのBOOKが消えた!
-
ゲームでは結局どっちが良いの?
-
Vba LongPtrについて教えてくだ...
-
VisualC++ サブウインドウの作り方
-
UWSCで特定のChromeのタブをア...
-
ExcelVBAでAPIを使って外部ウイ...
-
作成したウインドウのサイズを...
-
勝手にウィンドウが開いて止ま...
-
ボタンのハンドルウィンド取得...
-
MFC ダイアログ上のID取得につ...
-
メッセージをスルー
-
Console.WriteLine で表示されない
-
他アプリケーション’(ウィンド...
-
他のアプリケーションの終了処理
-
[VBA] UserForm を Excel の W...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
検索の画面がでなくなってしま...
-
勝手にウィンドウが開いて止ま...
-
ゲームでは結局どっちが良いの?
-
Excelの上下を固定したい
-
VBA .Value=.Value ?
-
作成したウインドウのサイズを...
-
Vba LongPtrについて教えてくだ...
-
ExcelのBOOKが消えた!
-
ラジオボタンの初期指定
-
他のアプリケーションの終了処理
-
「&HFFFF」「&H1A」とは?
-
親ウインドウにあるOKボタンを...
-
EnumChildWindowsの使い方(VBA)
-
MFC ダイアログ上のID取得につ...
-
[VBA] UserForm を Excel の W...
-
UWSCで特定のChromeのタブをア...
-
ボタンのハンドルウィンド取得...
-
ExcelVBAでAPIを使って外部ウイ...
おすすめ情報