このコードを試すことができます。マクロを実行して一定間隔で必要なマクロを開始するスケジューラーを実行できます。
Private Sub Workbook_Open()
Do While TimeValue(Now) < "23:59:59"
' Enter the name of the Macro that you want to run in the NAME OF MACRO field
Application.OnTime TimeValue(Now), "NAME OF MACRO"
newHour = Hour(Now())
newMinute = Minute(Now()) + 10
newSecond = Second(Now())
waitTime = TimeSerial(newHour, newMinute, newSecond)
'Waits for 10 minutes
Application.Wait waitTime
Loop
End Sub
このマクロは、ブックブックのオープンイベントで実行します。ワークブックオブジェクト(ThisWorkbook)のプライベートモジュールにアクセスする最も速い方法は、「ファイル」の横のExcelアイコンを右クリックして「コードを表示」を選択することです。私はそれを10分に予定しています。必要な頻度に応じて変更することができます。
ただし、このコードには制限があります。あなたは常にエクセルを開いたままにする必要があります。さらに、他のマクロを実行することもできません。これが1日中実行される必要がある場合は、このシステムを専用システムで実行することをお勧めします。そうしないと、特定の要件に従ってコードを変更する必要があります。
このソリューションがお役に立てば幸いです!さらなる助けが必要な場合はお知らせください。
「OnTime」は適切なオプションですが、正しく実装されていません。http://www.cpearson.com/excel/OnTime.aspxを参照してください。 'Application.Wait'を使うと、ExcelがVBAにスタックされたままになります。 – R3uK