• 締切済み

Excelで時刻になったら知らせてくれるように

こんにちは。わかる方教えて下さい。 Excelで作成したいのですが、セルA1とA2に時間(例:13:00と14:00)をそれぞれ入力。 その時刻になったら音を鳴らして知らせるようにしたいと思っています。 いろいろサイトをみていますが初心者なのでよくわかりません。 OnTimeを使用したらよいと記載されているサイトが多いのですが、使い方がいまいちです。 どのようにしたらよいのか教えていただけないでしょうか。 また、それぞれその時間になったらセルA1とA2に色がつくようにできますかよろしくお願いいたします。 参考URL http://excel-ubara.com/excelvba5/EXCEL104.html を試してみましたがうまくいきませんでした。

みんなの回答

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

#1です。 「これとは別に・・・」 何を言っているやら。 ちゃんと色も変わるように作ってあるはずだが、何が不足なんでしょうね。 誰かが作ったものをそのまま使うということではなくて、それを参考にして自分で調べ、考えるのでなければ、思うようなことはできないね。全部誰かに作ってもらうというのであれば、それ相当の対価が必要と思うが。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

自動的に実行されるように、A1,A2のあるシートのWorkSheetモジュールに次のChangeイベントを書く。 Private Sub Worksheet_Change(ByVal Target As Range) If Target = Range("A1") Or Range("A2") Then SetOnTime End If End Sub 標準モジュールに次のようにを書く。始めのPublic Declare は、Beep関数を使えるようにするため。 Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Sub SetOnTime() On Error Resume Next Application.OnTime Range("A1"), "CallBeep", , False Application.OnTime Range("A2"), "CallBeep", , False Application.OnTime Range("A1"), "CallBeep" Application.OnTime Range("A2"), "CallBeep" End Sub Sub CallBeep() If TimeValue(WorksheetFunction.Text(Now, "h:mm")) = Range("A1") Then Call Beep(500, 500) Range("A1").Interior.ColorIndex = 3 End If If TimeValue(WorksheetFunction.Text(Now, "h:mm")) = Range("A2") Then Call Beep(1000, 500) Range("A2").Interior.ColorIndex = 4 End If End Sub

kokusan00
質問者

お礼

ご回答いただきありがとうございます。参考にして使用させていただきます。 これとは別に指定した時間(例:13:00)に自動でセルの色を変えることは可能でしょうか。

関連するQ&A

  • EXCELで時刻を表示させるときに

    EXCEL2003でA1セルからA3000セルまで0.2秒間隔で時刻を入れたいのですが、簡単に入れる方法を教えてください。 例えばA1セル「12:00:00'00」、A2セル「12:00:00'20」、A3セル「12:00:00'40」・・・・という感じにしたいです。

  • excelを使用したVBAの問題に関する質問です。

    excelを使用したVBAの問題に関する質問です。 下記のサイトの問題13の解答の中で、 http://excel-ubara.com/excel-answer/EXCELVBA613A.html 1, If InStr(Cells(i, 1), "(") > 0 Then とありますが、 "(") はどんな意味を表していて、なんなのでしょうか? 2、 StrPref = Left(Cells(i, 1), InStr(Cells(i, 1), "(") - 1) とありますが、 "(") - 1)のところでなぜ「-1」をしているのでしょうか? 3, If Left(strPref, Len(strPref) - 1) = strCity Then のところについて、 ここでもなぜ「-1」をしているのでしょうか? VBAを始めたばかりの初心者でいて、 理解力が乏しいため お詳しい方がいらっしゃいましたら、この3点につきまして是非、お教え下さい。 よろしくお願い致します。

  • 指定した時刻になるとセルに色がつくようにしたい

    初心者です。エクセルのVBAで設定した時刻になったらセルに色がつくようにしたいです。 例えば、17:00時にA1セル、18:00にA2セルに色を自動でつくようにしたいと思っています。 OnTimeを使ったらよいと思っていろいろ試しましたが、設定した時刻になってもなにも起こりません。 標準モジュールに以下の内容を記述して、パソコンの時計を変更して確認しています。 できたらクリックしないでファイルオープンしてなにもせずに設定時刻に実行されるようにしたいです。 最初の3秒でB1に現在の時間を取得。 セルA1とA2をクリアしてから設定時間に色をつけるようにしたつもりです。 下記が記述内容です。 Sub 指定時間にマクロを開始() Dim stime As Date Range("A1") = "" Range("A2") = "" Range("B1").Select stime = Now + TimeValue("00:00:03") Application.OnTime TimeValue(stime), "マクロ実行内容", TimeValue("00:05:00") End Sub Sub 時刻の設定1() Application.OnTime EarliestTime:=TimeValue("17:00:00"), Procedure:="Test" End Sub Sub Procedure() Range("A1").Interior.ColorIndex = 8 End Sub Sub 時刻の設定2() Application.OnTime EarliestTime:=TimeValue("18:00:00"), Procedure:="Test" End Sub Sub Procedure2() Range("A2").Interior.ColorIndex = 9 End Sub 実行マクロは有効にしています。 ご教授よろしくお願いします。

  • Excel 時刻の計算方法

    Excel 時刻の計算方法 セルA 10/26/2010 06:54:32 セルB 10/27/2010 12:34:56 このような状態で、セルCにhh:mm:ss形式でAの時刻からBの時刻までにかかった時間を表示させたいのですが どうすればいいのでしょう

  • Excelの時刻記入に関して

    Excelの時刻表示に関して質問です。 ■質問1 例えば、A1に「3時間5分52秒」、A2に「6時間30分24秒」、A3に「10時間7分03秒」など、毎日、一つのことにどのくらい時間をかけたかExcelでメモしていきたいと思っています。1カ月ごとにトータル時間を計算したいのですが、どのように時刻の足し算をすればいいでしょうか?2月1日はA1、2月2日はA2、という風に下にどんどん記入していきます。 ■質問2 トータル時刻を足す場合、分や秒の記載は03分02秒など、最初に0をつけた方がいいでしょうか? ■質問3 そもそも、時刻を「3時間5分52秒」と記載する場合、ユーザー定義をした方がいいでしょうか?手入力で問題ないでしょうか?ユーザー定義が必要な場合、時分秒と漢字表記にする場合の方法と、時刻をセルに打ち込む際に、どのように打ち込めばいいか(3時間5分52秒の場合、3/5/52なのか3・5・52なのか等)教えていただければ幸いです。 いろいろすいませんがご助言なにとぞよろしくお願いいたします。

  • EXCEL 時刻引き算で結果が###になってしまう

    お世話になります。 EXCELの時間の計算方法について質問させていただきます。 下記のように1日の従業員の作業状況を求めるEXCELを作成しています。 A1・・作業時間 (表示形式"時刻") 例 3:00:00(3時間) B1・・空き時間 (表示形式"時刻") 例 4:00:00(4時間) C1=A1-B1でその日の従業員の空時間の多い、少ないを求めています。 C1 (表示形式"時刻") の結果がプラスの場合は良いのですがマイナスの場合は#####となってしまいます。これを防ぐ良い方法はありますでしょうか。 どなたかお知恵をお借りできませんでしょうか。 よろしくお願い致します。 環境 Windows XP SP3 EXCEL2003

  • EXCEL 条件付き書式で時刻を条件にする場合

    EXCELで以下のようにセルに時刻を入力して、引き算をして時刻の差を表示しています。 例 A1セルの時刻:12:05 A2セルの時刻:12:04 A3セルの計算式:=A1-A2   セルの表示は0:01 A3に条件付き書式を以下のように入れ、条件を満たすときはセルに色を付けるとしました。 =$A$3=("0:01") しかし、条件を満たしても色が付かないのですが、時刻の入力はどのようにすればいいのでしょうか? よろしくお願いいたします。

  • エクセルのHTMLのループ取得でフリーズする

    標題の件で、エクセルのマクロでMSHTMLを用いてあるサイトの1ページ目、2ページ目・・・とループ処理でHTMLを取得する際、3回目以上のループからマクロがフリーズ(フリーズする際のループ回数はランダムです)してしまいまい、フリーズせずに全ページを取得できるようにプログラムを直したいです。 【使用プログラム】※・・・は記載省略 ' ' // ・・・ Sub sample() ・・・ Do While ・・・ ・・・ Call untilReady(htmlDoc) ・・・ Loop End Sub Sub untilReady・・・ ※このSubの中身はサイト"エクセルの神髄"様  (http://excel-ubara.com/excelvba5/EXCELVBA222.html)  の"MSHTML.HTMLDocumentを使った方法です。"記載部の  Sub untilReady~End Subまでとほぼ同じで、  DoEventsとIf Now()~の間に sleep 100 を入れています ・・・End Sub ' ' // 回答者にはお礼しか言うことが出来ませんが、よろしくお願いします。

  • 2つの時刻間の時間を計算したい。

    よろしくお願いします。 エクセル2010、OSはWindows7です。 例) セルA1 に時刻その1 セルB1 に時刻その2 というデータが入力されています。 時刻は、YYYY/MM/DD hh:mm の形式で入力されており、2つの時刻の差は24時間以上なので日付は異なります。 この2つのセルの時間差をhh:mmの形式で表したいですが、単純に引き算しただけでは思うようにいかないようです。 やり方を教えてください。

  • Excelで24:00以上の時刻を入れるとイルカが文句を言う

     Excel2000で勤務表(何時に出社して何時に退社して、何時間働いたかという表)を作っています。  いままでは24:00以上の時刻を入れることができなかったのですが、下記のサイトを参考に、24:00以上の時刻を入れられるように直しました。 つまり、セルの書式設定-表示形式-分類 が時刻、種類が13:30となっていたのを、 セルの書式設定-表示形式-ユーザ定義-種類 [hh]:mm に変更しました。 ところが、 退社時刻の列のセルに24:00以上の時刻を入れると、イルカが 「退社時刻の入力 退社時刻は0:00-23:59の時間を入力してください」 と文句を言います。(赤いばってんのふきだしが出てくる。) (出社時刻のセルには24:00以上の時刻を入れることができるが、 たとえばセルに24:00と入れた場合、上のバーには 1900/1/1 0:00:00と表示される。) 私のききたいこと ・退社時刻のセルに24:00以上の時刻を入力できるようにするにはどうすればよいですか。 ・なぜイルカはこのセルが退社時刻であるということ知っているのでしょうか。(どこで設定されているのか。) ・上のバーには 1900/1/1 0:00:00と表示されるのを、単なる24:00:00にできないでしょうか。 http://www2.odn.ne.jp/excel/waza/format.html#SEC6 (24時間以上の時刻を表示)

専門家に質問してみよう