Excel - VBA - リマインダーを作成する

Excelは多くの場合、データの操作、さまざまな種類のデータからのレポートおよびチャートの生成に最適なツールです。 ただし、 リマインダー作成するなど、他の興味深い機能を実行するためにExcelを使用することもできます。 これはVBAフレームワークを使用して実行できます。 リマインダーを作成するには、 作り付けの機能のいくつかを利用するカスタム VBA コードを書く必要があります 。 ただし、コードは最初のインスタンスで手動で実行する必要があり、ワークブックが開いている限り、次の反復で実行され続けます。 ユーザーがコードを手動で実行したくない場合は、workbook_openというカスタムルーチンを定義する必要があります。

問題

Excelワークシートの日付と時刻に従って、自動的にアラームメッセージボックスを表示したい。

これはVBAで実行できますか?

溶液

 --- A -------------- B -------- C ---------------------- D 1-日付-------時間------タスク-------------------リマインド2- 13/3/2010 - 11:10 ----クリーンルーム-------------- X 3- 13/3/2010 - 11:10 ----クリーンカー------------ - - - バツ 

X:これが積極的な通知であることを示します。 そのアラームを無効にするには、xを削除します

VBE(Alt + F11)およびプロジェクトエクスプローラウィンドウで、 "ThisWorkbook"をダブルクリックします。 以下のコードを貼り付けてください。

 整数としてのプライベート定数リマインダー= 1プライベートリマインダーとしてのプライベートリマインダ次へSubindind()currentTime = Time nextMin = CDate(形式(Time + 1 /(24 * 60)、 "hh:mm"))myrows = Range( "A1") .CurrentRegion.Rows.Count thisrow = 2の場合Myrow If(Cells(thisrow、 "D")= "X")thistime = CDate(CDate(Cells(thisrow、 "A)))+ Cells(thisrow、" B "))If((thistime> = Now)And(thistime <= Now + 1 *リマインダー/(24 * 60)))then task = task&vbCrLf&Cells(thisrow、" C ")&" at "&Format (Cells(thisrow、 "B")、 "hh:mm")End If End If Next If(task "")MsgBoxタスクreminderNext = Now + TimeSerial(0、reminder、0)Application.OnTime reminderNext、 "ThisWorkbook。 remindMe ",, True End Sub 

また、いくつか理解しておく必要があります。

  • コードは最初に手動で開始する必要があります。 その後は、本を閉じるまで、本で定義したとおりにスケジュールを確認し続けます。
  • 本を閉じて再起動したら、もう一度コードを開始する必要があります。
  • コードを起動するには、Macroに移動する必要があります。メニューバーに[実行]ボタンがあります。
  • あなたが手動でコードを実行したくない、そしてあなたが本を始めたときはいつでもあなたがコードをそれ自身で実行したいなら、あなたはWorkbook_Open()と呼ばれるルーチンを定義しなければなりません
  • これもまた、手動でコードを実行したい場合は以前とまったく同じように実行し、ブックを開いたときにコードを単独で実行したい場合はもう1つ追加する必要があります(古いコードをそのまま使用します)。 ) コードは次のようになります。

 Private Sub Workbook_Open()remindMeを呼び出します。End Sub 

注意

フォーラムでこのヒントを寄せてくれたrizvisa1に感謝します。

前の記事 次の記事

トップのヒント