皆様にはいつもお世話になっております。
今回は BookAのマクロから BookBをアクティベイトできない現象で悩んでいます。
下記のマクロのように BookBが開いているか否かを判断して既に開いていればアクティブ化し、そうでなければ開くようにしたいと思っています。
ブックを開くケースでは下から2行目のアクティブ化は不要なのですが、ブックが開いている場合は 8行目のアクティブ化が効きません(エラーメッセージも出ません)。
大分アチコチのサイトを覗いたのですが殆どが一般的な説明で参考になりませんでした。
ご存じの方、教えて頂ければ幸いです。
因みに、使用しているOSは Windows7+Excel2010 及び Windows10+Excel16なのですが、いずれの場合も同じ症状となります。
宜しくお願いします。
Dim targetBook As String
targetBook = "U:\BookB.xlsm"
' ブックを開く時に読み取り専用になっているか否かでその開閉を判断
On Error Resume Next
Open targetBook For Append As #1
Close #1
If Err.Number > 0 Then '■ブックが開いている
Workbooks(targetBook).Activate '指定ブックに移動
Else '■ブックが開いていない
Workbooks.Open targetBook 'ブックを開く
Workbooks(targetBook).Activate
End If
No.1ベストアンサー
- 回答日時:
検証してませんけど、パスとブック名を分けてみては如何でしょうか?
Dim targetBook As String , tagetPath As string
targetPath = "U:\"
targetBook = "BookB.xlsm"
' ブックを開く時に読み取り専用になっているか否かでその開閉を判断
On Error Resume Next
Open targetPath & targetBook For Append As #1
Close #1
If Err.Number > 0 Then '■ブックが開いている
Workbooks(targetBook).Activate '指定ブックに移動
Else '■ブックが開いていない
Workbooks.Open targetPath & targetBook 'ブックを開く
'Workbooks(targetBook).Activate ■不要かもですね。
End If
たしか既に開いているワークブックの名前にはパスは表示されなかったと思いますし、使用するにも指定はしなかったと思うので。
違っていたらごめんなさい。
めぐみん_ さん、早朝からの回答、感謝致します。
実は以前にも めぐみん_ からは丁寧に指導して頂いた記憶があります。
本当に有り難うございます。
ところで御指摘のように修正したところ、一発で解決しました。
いろいろなサイトを探しても めぐみん_ のような説明は見つかりませんでした。
基本的なことを理解していないので上手く行かなかったのですね。
御多用中のところ、誠に有り難うございました。
今後とも宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
EXCELマクロで、開いてはいるがアクティブでないファイルをアクティブにする方法?
Excel(エクセル)
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
-
4
指定のWORKBOOKを前面表示する方法(エクセル:VBA)
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
【Excel VBA】ブックを複数開いている際、任意のブックをアクティブにしたい
Excel(エクセル)
-
7
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
12
VBAのWindowオブジェクトとWorkbookオブジェクトの違い
Visual Basic(VBA)
-
13
エクセルで別ブックをバックグラウンドでオープンする方法
Excel(エクセル)
-
14
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
15
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
16
Excel VBA:フォーム←→セルのアクティブ切り替え
Excel(エクセル)
-
17
VBAのリストボックスをマウスでスクロール
PowerPoint(パワーポイント)
-
18
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
19
AppActivateの使い方
PowerPoint(パワーポイント)
-
20
VBA Application visibleのやり方
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
Excelで複数ブックの同一セルに...
-
他のブックのシートを今のブッ...
-
複数ファイルから特定シートの...
-
Excel起動時に特定のワークシー...
-
Excelで拡張子の後に数字が……何...
-
Excel2007:ふりがな機能で、ひ...
-
Excel 同ブックの他シートを参...
-
エクセルの中で2つ以上のブッ...
-
【VBA】特定シート 名前編集・...
-
VBAで、同一フォルダ内にある複...
-
エクセルの複数シートをCSV...
-
エクセルでブックを比較するや...
-
エクセル:ほかのデータソース...
-
エクセル A列と別ブックにある...
-
WorkBooksをオープンさせずにシ...
-
フォルダ内の複数ファイルから...
-
beckyに届いたメールをエクセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルで参照しているデータ...
-
WorkBooksをオープンさせずにシ...
-
Excel(2010)のフィルターが保...
-
フォルダ内の複数ファイルから...
-
Excelでブックの共有を掛けると...
-
複数ファイルから特定シートの...
-
エクセルで「ディスクがいっぱ...
-
Excelで複数ブックの同一セルに...
-
エクセルファイルを開かずにpdf...
-
エクセルで別ブックをバックグ...
-
エクセルで50行ごとに区切った...
-
外部ブック参照が#REF!になって...
-
エクセル2016です。「ブッ...
-
エクセルの関数について教えて...
-
エクセルシートの一部を送りたい
-
ブックのピボットを別ブックに...
-
Excel起動時に特定のワークシー...
おすすめ情報