No.3ベストアンサー
- 回答日時:
代表的な手法としては、次のよう方法があります。
いずれもVBAについてある程度の知識と工夫が必要です。1. ステータスバーを利用
メッセージを表示することは簡単なのですが、難点としてエラーが発生した
場合でもちゃんと表示を元に戻す例外処理を考慮しなければなりません。
2. フォームを利用
フォームを使えるなら、プログレスバー(進捗表示グラフ)などグラフィカル
な表示が可能です。ただし、少々難しいです。
要は、マクロ実行中であることをユーザーに伝えることができれば良いわけですから、次のような簡易的な方法が良いかもしれません。
1. 「マクロ実行中」を表現したメッセージシートを用意
シートを追加して、シートの真中に大き目の文字で「マクロ実行中」と書きます
何でもよいので、自分好みにデザインして下さい。
2. 1.のシート名を「Prog」に変更
マクロ実行中はこのシートをユーザーに見せておけば良いでしょう。当然、マクロが終了したら、このシートを非表示にしてしまいます。
Sub Sample()
Dim SH As Worksheet
'マクロ実行中のメッセージシート表示
Set SH = ThisWorkbook.Sheets("Prog")
With SH
.Visible = True
.Activate
.Range("A1").Select
End With
'マクロの実行でシートが切り替わらないように
'画面描写の更新を凍結
Application.ScreenUpdating = False
'実際の処理をここに書く
'マクロ実行中のメッセージシートを非表示
SH.Visible = False
Set SH = Nothing
'画面描写の更新を再開
Application.ScreenUpdating = True
'完了メッセージ
MsgBox "終了しました。", vbInformation
End Sub
No.2
- 回答日時:
自分の場合は、Cells.Select で、画面を全選択状態にしています。
Cells.Select すると、アクティブセルが最左上のセルになってしまうので、
元のセル=ActiveCell.Address
Cells.Select
処理
Range(元のセル).select
として、元に戻しています。
No.1
- 回答日時:
ステータスバーにメッセージを表示させることが出来ます。
'プログラム実行時
Application.StatusBar = True
'実行中に、任意の場所でメッセージを出すす。
Application.StatusBar = "○○を実行中"
'終了時
Application.StatusBar = False
ほかに、ステータスバーを表示させたりする処理も必要かな。
Application.DisplayStatusBar = True
参考URL:http://www.officetanaka.net/excel/vba/tips/tips1 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/11 11:47
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Visual Basic(VBA) Excelのマクロについて教えてください。 3 2022/06/30 09:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) ExcelのVBAコードについて教えて下さい。 2 2022/06/25 14:04
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelマクロで、稼働中のマクロを確認する方法
その他(Microsoft Office)
-
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
VBAでEmpty値って何ですか?
Excel(エクセル)
-
-
4
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
5
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
6
Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない
Excel(エクセル)
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
Accessで処理経過を表示したいのですが
その他(データベース)
-
10
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
11
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
12
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
13
Excel VBAで改行を含めたセルのコピー
Excel(エクセル)
-
14
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
15
エクセルVBA マクロ処理中のポップアップメッセージについて
Excel(エクセル)
-
16
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
17
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
18
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
19
VBA シートの切り替えができないようにするには
PowerPoint(パワーポイント)
-
20
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのシート上のShapeにイベ...
-
エクセルで複数のシートのクリ...
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
エクセルファイルを開いた回数...
-
EXCELのマクロで数値の時間計算。
-
excel定数の違いについて。xlAu...
-
複数のセル一括削除
-
excel マクロコードを教えてい...
-
VBA初心者です。 仕事の残業を...
-
エクセル シート内の一番下のセ...
-
エクセル:セル内の文字列の最...
-
エクセルで、セルにある数字が...
-
エクセルVBAで実行中画面を...
-
【エクセル】「実行時エラー’10...
-
Excelにて、同じ画像を複数のセ...
-
エクセル マクロ 一定時間おき...
-
EXCELのダイアログシートって、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
Excelにて、同じ画像を複数のセ...
-
Excelマクロでブック全体を検索...
-
エクセルでマクロを作りすぎた...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
おすすめ情報