エクセル95およびエクセル97を使用しています。
エクセルVBAでメッセージを表示する場合、通常は、
Sub メッセージ()
MsgBox "~メッセージ本文~", vbOKOnly + vbinformatoin, "メッセージタイトル"
End Sub
のように書くと思います。他にも、vbOKCancel、 vbYesNo などもあります。
しかしこれらはいづれにせよ、ユーザーがメッセージに表示された「はい」や「いいえ」をクリックしないと先に進みません。、このメッセージから「はい」「いいえ」等の表示を無くし、メッセージを何秒か表示したら、あとは自動的に消えるようにするにはどうすればいいのでしょうか?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
他の人も書いていましたがmsgboxでないと駄目ですか?(^^;
とりあえずFormを使って同じ機能の物でしたら書いてみたので参考までに...
標準モジュールとフォームを作成。
それぞれをUserForm1とModule1とする。
フォームのオブジェクトに表示したいメッセージを書く。
UserForm1のコードに
Private Sub UserForm_Activate()
t=Timer
Do While Timer < t + 1 '1は秒数です。10にすれば10秒です。
DoEvents
Loop
Unload Me
End Sub
Module1のコードに
Sub Macro1()
UserForm1.Show
End Sub
こんな感じでは駄目でしょうか?
この回答への補足
Sub Macro1()
DialogSheets("dialog1").Show
t = Timer
Do While Timer < t + 1 '1は秒数です。10にすれば10秒です。
DoEvents
Loop
DialogSheets("dialog1").Hide
End Sub
とやったのですが、ダイアローグシートのOKまたはきゃんせるボタンを押さないとさきにすすみません。
ダイアローグシートのかわりにテキストボックスを使って、
Sub Macro2()
Sheets("sheet1").DrawingObjects("テキスト 1").Visible = True
t = Timer
Do While Timer < t + 1 '1は秒数です。10にすれば10秒です。
DoEvents
Loop
Sheets("sheet1").DrawingObjects("テキスト 1").Visible = False
End Sub
とすれば働くのですが、いかんせんテキストボックスなものですから・・・・。
ありがとうございます。これでエクセル97と2000については解決しました。
ただ、ユーザーフォームの無いエクセル95については出来ません。
Dialogsheetが代りだと思うのですが、95の場合、標準モジュールしかないので
Private Sub UserForm_Activate()
~略~
End Sub
の部分を標準モジュールにどう書けばいいのか教えてくださいませんでしょうか?
呼び出す方はこれでいいと思うのですが。
Sub Macro1()
Dialogsheets("Dialog1").Show
End Sub
No.2
- 回答日時:
MsgBox関数で出力されるメッセージボックスはシステムが管理しており、
メッセージ出力後の処理の継続には必ずボタンが必要です。
なので、ボタンを出さずにタイマーで消す、
などというカスタマイズはできません。
VBAでなく、VBならこの場合は、
メッセージを表示するだけのフォームを作成し、
そのフォームのLoadとUnloadをメインフォームから
タイマーでコントロールする、という方法を取ると思います。
VBAだと・・・他の方にお任せしたいと・・・(苦笑)
No.1
- 回答日時:
こんにちは
メッセージボックスでないといけませんか?
ラベルにメッセージを表示しタイムウェイトした後に
スペースを送ってメッセージを消す。
という簡単な方法がありますが。。。
では
すみません、不勉強で「スペースを送る」という意味がわからないのです。
テキストボックスにメッセージを書いて、
Sub 表示()
~略~("テキストボックス名").Visible = True
Application.OnTime Now + TimeValue("00:00:05"),"非表示"
End Sub
Sub 非表示()
~略~ ("テキストボックス名").Visible = False
End Sub
と二つのマクロを書き、やろうかとも思いました。そういうことでしょうか?
出来ればメッセージボックスを利用したいのです。メッセージアイコンも使いたいですし。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- Visual Basic(VBA) エラー処理 3 2022/04/11 14:58
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Excel(エクセル) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 2 2022/05/07 17:16
- その他(IT・Webサービス) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 1 2022/05/07 15:12
- Android(アンドロイド) 私のスマホのSMSに+メッセージ(プラスメッセージ)消去・表示させる方法と危険性 1 2023/08/10 21:17
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- Excel(エクセル) セルの上書き禁止について 5 2022/04/02 10:09
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Twitterで間違えて生年月日を登...
-
メールを送った直後に送られて...
-
LINEのメッセージスタンプについて
-
これは誰からのメッセージ??
-
電話番号のSMSにメールアドレス...
-
メッセージとプラスメッセージ...
-
マッチングアプリで質問(住ん...
-
結膜下出血になってしまいまし...
-
VBA_イコールではない時に○○と...
-
pixivでメッセージをしばらく更...
-
機内モードなのにライン通話が...
-
iPad(第6世代)からiPad(第9世代...
-
スマホが壊れてるので、パソコ...
-
解約したiPhoneを探す時、最後...
-
スマホが必須?
-
フェイスブックにて友達承認し...
-
LINEでシフトが送られてくる系...
-
解約済みのiPhone4sを紛失しました
-
LINE電話の着信音を消す方法は...
-
こちらで言われたやり方を試し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Twitterで間違えて生年月日を登...
-
メールを送った直後に送られて...
-
メッセージとプラスメッセージ...
-
SMSの新着メッセージがあります...
-
電話番号のSMSにメールアドレス...
-
LINEのメッセージスタンプについて
-
至急です
-
メッセージとメッセージプラス...
-
iPhoneのメッセージが消えた
-
プラスメッセージと、ただのメ...
-
結膜下出血になってしまいまし...
-
iCloudとiMessageのアカウント...
-
エクセルのマクロでwindowsのメ...
-
LINEの新着メッセージ表示につ...
-
Twitterでボイスメッセージ送れ...
-
SMSが突然送信だけできなくなり...
-
メール、メッセージを送る時間...
-
エクセルVBAで「はい」「いいえ...
-
ドコモからのSMSについて
-
アンドロイドスマホのメッセー...
おすすめ情報