Excel VBAにあまり詳しくない者ですが、ご教授いただけるとありがたいです。
Excel365で、Auto_Openを使って、ブックを開くと同時にマクロが自動実行されるツールを作りました。このExcelブックを、Windowsエクスプローラーからダブルクリックで起動したところ、以下のように、Excelのオープニングダイアログが表示された状態でマクロが実行されて、ブックのウィンドウは表示されません。

VBAマクロは最後まで実行されるのでその意味ではいいのですが、処理中の過程をシートに出力していて、それが表示されず確認できないのがつらいです。
以下の★を入れてみたのですが、変わりません。
Auto_Openではなく、ThisWorkbookのWorkbook_Openでも試しましたが、同じでした。
VBA
1Private Sub Auto_Open 2 ' 本ブックをアクティブ★ 3 ThisWorkbook.Activate 4 ActiveWindow.Visible = True 5 6 ' 以降は具体的な処理 7 ' ... 8End Sub
どうすれば、ブックのウィンドウが表示されるでしょうか?
タグにVBAも追加したほうがいいでしょう。
ご指摘ありがとうございます。追加しました。
Excel の障害の様な気がします。
この記述だけ(4行以外全部削除)でもダメなんですよね。
Private Sub Auto_Open
ThisWorkbook.Activate
ActiveWindow.Visible = True
End Sub
Excelファイルを起動ではなく、メニューからExcelApplicationを起動させて正常に空白ワークシートは出ますよね。
スタート画面を表示をON/OFFにして見てどうでしょうか。
(https://infoliteracy-univ.com/excel-start)
内容を読むと通常は有り得ない障害と思います。
Excelの再インストールだけで直るのでしょうか?OSとの兼ね合いも考えられます。そのPC独自の問題と思われますので、原因究明は厳しいかもしれません。
hatena19さまに教えて頂いた以下の通り、マクロ実行を一瞬待ち合わせれば解決しました。
Private Sub Workbook_Open()
ThisWorkbook.Activate
ActiveWindow.Visible = True
DoEvents
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:01"), Procedure:="MyFunc"
End Sub
回答1件
あなたの回答
tips
プレビュー