
次のコードを実行させるとファイル Book1.xlsx がオープンされますが、VBAのコードが実行されません。そのため次のコードが実行できなくなっています。環境はWindows 10 、Excel2016 です。
〜 前のコード 〜
Workbooks.Open ("¥¥Mac¥Home¥共有フォルダ¥book1.xlsx")
〜 次のコード 〜
前のコードにブレークポイントを設定し、そこで一度止めてから実行を継続させると正常に次のコードのブレークポイントで止まります。しかし、前のコードでブレークポイントを設定せずに実行させると次のコードに設定したブレークポイントで停止しません。
book1.xlsxはまっさらなファイルでVBAのコードはありません。
何が原因でしょうか。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
目的として考えている「Worksheets.count」はオープンされた「book1.xlsx」のシート数ですか?それとも、マクロが書かれているブックのシート数でしょうか?
----------------------------------------------------------
間違いは無いと思うのですが、念の為
①「For i2 = 1 To Worksheets.count」の前の行に「MsgBox ("見えますか")」追加してもメッセージボックスは出ないんですよね。
② もちろんブレークポイントは全て外してあるんですよね。
No.1
- 回答日時:
もしかしたら他のブックが開いてしまったので、アクティブブックがそちらに移ってしまったために一部のコードが実行できなくなってしまったのでは?(「Range("A1").Select」のようなコードは使えなくなります)
原因がそれならば、ファイルオープン後にすぐ「ThisWorkbook.Activate」を実行すると良いかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Visual Basic(VBA) Excel VBA マクロ 先頭行の固定とオートフィルター設定を全てのシートに適用したいです 1 2022/11/12 15:32
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルシートをVBAでpdfで保存したい 2 2022/06/27 10:17
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelVBAで質問です。Workbook_openイベントが発生し
その他(Microsoft Office)
-
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
Workbook_openでマクロが実行されない
Excel(エクセル)
-
-
4
エクセルVBAでブックを開くと処理が終わってしまう
Visual Basic(VBA)
-
5
【VBA】ワークブックを開く時にエラーが出る場合と出ない場合の違いは?
Excel(エクセル)
-
6
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
9
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
10
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
11
Sub Auto_Open() 実行されない
Excel(エクセル)
-
12
エラーになってないのにVBAが中断される
Excel(エクセル)
-
13
Private Sub Workbook_open()で、マクロが止まってしまいます
Excel(エクセル)
-
14
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
15
EXCELでワークシートを開いたらマクロを自動実行したい
Excel(エクセル)
-
16
特定のシートのみ再計算させない方法は?
Excel(エクセル)
-
17
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
18
エクセルファイルをオープンしたときの再計算について
Excel(エクセル)
-
19
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
20
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
access2021 VBA メソッドまたは...
-
フィルターかけた後、重複を除...
-
python コードについて(初学者...
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
pythonで同じコード内で複数の...
-
VBA 現在のセル番地を記憶、復...
-
JavaScriptの定数名が取り消し...
-
ActiveReportの改ページ不具合...
-
コンパイルエラー 変数が定義...
-
プログラムの記法 インラインコ...
-
ペンダントライトのコードの色...
-
VSコードでバックスペースキー...
-
VLookup関数を使ってラベルに表...
-
改ページ
-
VSコードでHTMLに(リンク)フ...
-
過剰なオブジェクト指向脳から...
-
ユーザーフォームに2つのコン...
-
sinカーブの表示のさせ方
-
ExcelVBAで「Shift_JIS(MS932)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1日に1人がこなせるプログラム...
-
JavaScriptの定数名が取り消し...
-
access2021 VBA メソッドまたは...
-
JANコードとPOSコードは同じ?
-
PreviewKeyDownイベントが2回...
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
Excelシート上で右クリックがで...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
変数名「cur」について
-
Nullの使い方が不正です。
-
【VB6】実行ファイルとした後、...
-
VBAでファイルオープン後にコー...
-
COBOLの文法
-
Accessでの抽出で完全一致。
-
AccessでReplace関数を使うときに…
-
Access DCountでの連番について
-
sinカーブの表示のさせ方
おすすめ情報
目的の book1.xlsx が開いていることは確認しています。
>ファイルオープン後にすぐ「ThisWorkbook.Activate」を実行する
コードが実行されないので、ThisWorkbook.Activate」を実行する ことができない状態です。
ファイルオープン後のコードは次の通りです。
For i2 = 1 To Worksheets.count
With sBook.Sheets(i2)
If .Cells(8, 2) = "パラメータ" And .Cells(8, 5) = "値の並び" Then
ss = Split(.Cells(1, 23), " ")
vernum = Left(ss(0), 2)
If vernum = "v7" Or vernum = "v6" Then
オープンされた「book1.xlsx」のシート数です。
メッセージボックスは出ません。
ブレークポイントは全て外してあります。
疑問なのは、一度手前でブレークポイント設定すると、そこから継続させた場合は正常にコードが実行されるのに、手前で止めないでそのまま実行させると次のコードが実行されない点です。
謎です。
ご指摘の確認は既に行っています。現象は同じでした。
一度ブレークポイントで止めると、開いたブックが「前面」になり、そのあとのコードが正常に実行できるが、止めないで連続で実行させると、ブックの「参照の仕方」に問題があり、コードが実行されないように見えているようです。
この辺りを重点的に調べてみます。
自己解決しました。
原因はVBAの仕様でした。
今回のコードはShiftキーを押しながらボタンをクリックすることで実行されます。この場合、VBAの仕様により、Shiftキーが押下された状態では、File Open以降のコード実行が停止するために起きた現象でした。
詳しくは次のページに解説があります。
https://support.microsoft.com/ja-jp/kb/555263
この問題で5時間近く費やしてしまいました。でも解決できてよかったです。
VBAの仕様ではありませんでした。
VBAのバグでした。