![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?000dd5e)
エクセル2003VBAで、マクロ実行時にユーザーフォームを
モードレス表示して、そのユーザーフォームにラベル「マクロ実行中です・・・」を貼り付けています。
しかし、処理が追いついていないのか、そのラベルが表示されません。
ユーザーフォームにはコードを記述していません。コードは以下のみです。
UserForm1.Show vbModeless
テキストをTrueにしてからマクロ処理のようなコードがあるのでしょうか?
お手数をおかけしますが、解決方法をご存知の方よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんにちは。
>モードレス表示して、そのユーザーフォームにラベル「マクロ実行中です・・・」を貼り付けています。
ラベルをどう処理しているのか、まったく書いていないわけで、さっはり意味が分かりません。
UserForm が立ち上がっている状態では、「マクロ実行中」とは言えるかもしれませんが、表示する意味はないはずです。
Private Sub UserForm_Initialize()
Label1.Caption = "マクロ実行中です....."
End Sub
必要ないと思います。
たとえば、ループした場合は以下のようにします。
Private Sub CommandButton1_Click()
Dim i As Long
Label1.Caption = "マクロ実行中です....."
DoEvents 'これを入れないと表示しない。
Do: i = i + 1: Loop Until i > 10 ^ 7
Label1.Caption = "終了"
End Sub
3~4秒で終了するはずですが、一旦、何かVBAをあらかじめ動かして、オブジェクトが活性化しないと、それ以上に時間が掛かる可能性があります。
なお、この仕様は、Office VBA独特のようです。
マクロを高速処理させるため、エクセルを非表示にしています。
それで、ユーザーフォームを表示させて、
マクロを実行中なのか第3者が見てわかるようにしようとしていたので必要なのです。
以下のコードで出来ました。ありがとうございます。
やはりおっしゃるとおり、「DoEvents」を入れないと、
「マクロ実行中です.....」の表示がされませんでした。
ついでにユーザーフォームに、プログレスバーをつくりました。
以下のコードです。
ユーザーフォーム2に、フォーム1を貼り、その内側にラベル1を貼り青色表示させてます。
フォーム1とラベル1のプロパティcaptionは空にしています。
'プログレスバーの設定---------------------------
Dim BarWidth As Single
UserForm2.Show vbModeless
With UserForm2
.Caption = "処理状況"
.Label1.Caption = "マクロ実行中です....."
'バー用ラベルの初期設定
With .Label2
.Top = 1 'フレームより1ピクセルずつ内側
.Left = 1
.Width = 0
.BackColor = &H800000 'バー色を青
End With
BarWidth = .Frame1.Width - 6
End With
For i = 1 To intTurn
'マクロ実行中の表示--------------------------------
DoEvents
UserForm2.Label2.Width = BarWidth * i / intTurn
//処理//
Next i
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
UserForm1.Showでエラーになります。
工学
-
-
4
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
7
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
12
ユーザーフォームのラベルに時間を表示させてずっと時間がちゃんと動くような方法はありますか?コード書い
Visual Basic(VBA)
-
13
ラベルを表示したり非表示にしたりしたい
Visual Basic(VBA)
-
14
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
15
Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?
Visual Basic(VBA)
-
16
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
17
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
18
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
19
userFormに貼り付けたLabelを変数に
Visual Basic(VBA)
-
20
VBAでユーザーフォームが自動的に消える
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
エクセルのマクロをセルの値に...
-
エクセルで特定の列が0表示の場...
-
Excel・Word リサーチ機能を無...
-
inlineとdefineの違い
-
エクセルで縦に並んだデータを...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
VC++ 2008 EXPRESS "_T"識別子...
-
vba findnext で検索し同じ値を...
-
ExcelVBAでPDFを閉じるソース
-
UWLSの記録でマクロを作成し使...
-
一つのTeratermのマクロで複数...
-
Excel ソルバー計算速度向上の...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
[初心者です]VBAで指定列か...
-
【EXCEL VBA】オートシェイプを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
エクセルで別のセルにあるふり...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
【EXCEL VBA】オートシェイプを...
-
ソース内の行末に\\
おすすめ情報