![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
https://koukimra.com/archives/1866
上記を参考に、図形を使ってのマクロ処理中のメッセージを表示したいと考えています。
コード内に
If MsgBox("実行します。よろしいですか?", vbOKCancel) = vbOK Then
Worksheets(1).Shapes("macro_msg2").Visible = True
Application.Wait Now + TimeValue("00:00:01")
★処理コードを記載★
Worksheets(1).Shapes("macro_msg2").Visible = False
(☆下記画面処理コード挿入)
MsgBox "作業が終了しました。"
Else
Exit Sub
End If
このように記載をしています。
ステップインでの処理を確認する際はmacro_msg2の図形がきちんと表示されますが、
通常処理を行うと、図形が表示されないままMsgboxの処理にたどり着きます。
1秒の待ち時間を5秒としても同様です。
処理に当たり、画面のちらつき防止等で
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.DisplayAlerts = False
こちらを上記処理の☆で入れていますが、図形の表示とこれらの有無は関係なさそうです。
処理速度が速すぎるための結果なのか、判断がつきません。
どこが原因でしょうか?
詳しい方、教えてください。
No.1ベストアンサー
- 回答日時:
こんばんは
Shapeが表示されないのは、画面が更新されないからでしょう。
>Worksheets(1).Shapes("macro_msg2").Visible = True
の直後に
Application.ScreenUpdating = True
DoEvents
を入れてみてください。
(DoEvents なしでもOKと思いますが、念のため)
回答ありがとうございます。
2つのシートのうち、1つは上記のDoEventsを使うことでうまくいきました。
もう一つのシートは更新されずに表示されません。
DoEventsの後に
Msgboxで適当な文言や処理を入れると、きちんと表示されますが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
長い時間かかるマクロが実行中かどうかを表示したい
Excel(エクセル)
-
マクロを実行中に、msgbox を表示させたまま、ワークシートを上下左右に移動表示させたい。
Excel(エクセル)
-
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
-
4
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
エクセルでエラーが出て困っています。
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
マクロ実行時、ユーザーフォームにラベルのテキストが表示されません。
Access(アクセス)
-
9
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
10
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
11
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
12
DoEventsがやはり分からない
Visual Basic(VBA)
-
13
VBAのWindowオブジェクトとWorkbookオブジェクトの違い
Visual Basic(VBA)
-
14
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
15
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
16
Excelでマクロ実行中に画面を固定する方法
Visual Basic(VBA)
-
17
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
18
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
【Excel】特定の文字を含むセル...
-
DoEventsがやはり分からない
-
メルカリのメルカードで買い物...
-
VBAでループ内で使う変数名を可...
-
ビープ音を連続して鳴らす
-
Loadイベント中にほかのイベン...
-
VB.NET Excelを読み込んでDataT...
-
switch の範囲指定
-
vba 空のデータをSplitする時の...
-
お家デートをしててハグを長い...
-
VBA SaveChanges 上書きされない
-
EXCEL VBA マクロ 実行する度に...
-
VBの質問#if 0 then ってどう...
-
1〜100の中で if(2の倍数) else...
-
Select Case文でこのようなこと...
-
インタラクティブの反対語は?
-
_tfopen について教えてください
-
findは動くがfindnextがマクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
DoEventsがやはり分からない
-
【Excel】特定の文字を含むセル...
-
メルカリのメルカードで買い物...
-
switch の範囲指定
-
UMLでの例外処理
-
EXCEL VBA マクロ 実行する度に...
-
非同期処理ってなんで、並列処...
-
VBの質問#if 0 then ってどう...
-
インタラクティブの反対語は?
-
findは動くがfindnextがマクロ...
-
月度は何て読みますか?
-
FFTの結果ついて
-
リョウ・・・量?料?
-
Do~Loopした回数をカウントしたい
-
Loadイベント中にほかのイベン...
-
セルの値が0はクリアするマクロ
-
VB.NET Excelを読み込んでDataT...
おすすめ情報