プロが教えるわが家の防犯対策術!

エクセルでポップアップを出したいので、作成方法を教えてください。
VBAなどほぼ素人です。
セルに入力した日付けと時間から一定の期日が来たら「予約の時間です。」のような表示を出し、「はい」を押さないと入力できないようにしたいです。
例)
①A1に「3月1日」と入力があり、C5に「9:00〜」D5に「10:00」と入力がある場合、
②9:00の15分前に「予約の時間です。」のようなポップアップを出したいです。
③その他にも時間を入れる枠があるので、指定した複数のセルに時間の入力がある場合にのみ開始時間の15分前にポップアップが出る ④シートが1日から31日分まであるので当日の情報を知らせるようにしたい。

というような表示を出したいです。
コードなど教えていただけると助かります。
よろしくお願いします。

A 回答 (3件)

プルダウンメニューでは 駄目なのですか?

    • good
    • 1

こんにちは



直接の回答ではありません。

>VBAなどほぼ素人です。
>コードなど教えていただけると助かります。
から推測すると、自作はまず無理っぽいですね。
仮に誰かに作ってもらったとしても、ちょっとした修正・変更すらままならない状態になります。

>エクセルでポップアップを出したいので
エクセルに限定しなければ、スケジュール管理関連のソフトを利用すれば同様の機能を備えているものがいろいろあると思います。
一例をあげるなら、M$のOUTLOOKの「予定表」機能を利用すれば、15分前だけでなく10分前、5分前などにもポップアップを出すことが可能です。
    • good
    • 1

エクセルにタイマーマクロを作るのはちょっと難しいのですが可能です


難しいというのは、サブルーチンの最後くらいに、次のタイマーを数分後に動けと命令して、
そのサブルーチンを抜けるところです。
1分に一回程度タイマーで自分のサブルーチンが動くように作っておいて、
時間の計算をして、差が15分になったら msgbox("で結果をポップアップ")
するとよいでしょう。

時間は日にちと時間をくっつけて、"2021/3/16" & "8:17:30" として
dim wDateVal as date に入れておけば、
その変数に1日を引けば前日になります DateDiffとか、DateAddでしたか、
関数があるのでそれを使いましょう。
日付で足し算や引き算ができるのがすごいですよね。
1日引けば前月の末尾になるし、うるう年もうまくやってくれます。
令和ってのもできるけど、年号が変わるので西暦がよいですよね。

あと、format(wDateVal,"yyyy/m/d hh:nn:ss")などとして、
日付型を文字列型にして表示などにも工夫をこらすとよいでしょう。
マクロは敷居が高いですが、勉強してみると作業の幅も広がると思います。
色々調べてがんばってみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A