
エクセル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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) ExcelのVBAコードについて教えて下さい。 2 2022/06/25 14:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
高校生はアルバイトするべきだろうか?
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
かっこよく答えてください!!
あなたは今にも別れそうなカップルの彼女の恋愛相談に乗っています。
-
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
5
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
6
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
UserForm1.Showでエラーになります。
工学
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
モードレスでユーザーフォームが開け(表示)ません。
Visual Basic(VBA)
-
13
ユーザーフォームのラベルに時間を表示させてずっと時間がちゃんと動くような方法はありますか?コード書い
Visual Basic(VBA)
-
14
ラベルを表示したり非表示にしたりしたい
Visual Basic(VBA)
-
15
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
16
VBAでユーザーフォームが自動的に消える
Visual Basic(VBA)
-
17
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
18
userFormに貼り付けたLabelを変数に
Visual Basic(VBA)
-
19
2画面表示でのVBAのボタン押下後のform表示の位置
Excel(エクセル)
-
20
VBA ユーザーフォームラベルキャプション名変換
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel・Word リサーチ機能を無...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
エクセルマクロでワードの一ペ...
-
特定文字のある行の前に空白行...
-
マクロの連続印刷が突然不可能...
-
ExcelVBAでPDFを閉じるソース
-
エクセルで縦に並んだデータを...
-
2つのマクロでチェックボックス...
-
Excelのセル値に基づいて図形の...
-
EXCELのマクロの重複起動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
Excel VBAからAccessマクロを実...
-
ダブルクリックで貼り付けた画...
-
【EXCEL VBA】オートシェイプを...
-
マクロで空白セルを詰めて別シ...
-
wordを起動した際に特定のペー...
おすすめ情報