问与答91:如何到点后让Excel自动提醒我要做的工作?

2021-02-05 14:35:52 浏览数 (1)

Q:由于工作太多太杂,导致经常忘记要做的事情,希望利用Excel工作表来定时提醒当前要进行的工作。也就是说,在到达某个时刻后,工作表中的文本框会自动显示该时刻应该做的工作。如下面的图1和图2所示,图1为工作安排表,列A中为安排的工作,列B中为相应工作开始的时间;图2用于显示当前应进行的工作。

图1:工作安排表。列A中是工作安排,列B中是工作开始的时间,可根据需要修改和添加。

图2:显示当前工作的界面。单击“显示”按钮后程序开始工作,当达到某时刻后,文本框中会显示当前应进行的工作。

A:使用OnTime方法来解决。程序代码如下:

代码语言:javascript复制
Sub DisplayData()
    Application.OnTime Now  TimeSerial(0, 0, 1), "ChangeText"
End Sub
 
Sub ChangeText()
    Dim rng As Range
    Dim rngFind As Range
    Dim rngValue As Range
    Dim rngStart As Range
    Dim dTime As Date
    Dim lLastRow As Long
   
    On Error Resume Next
   
    ‘获取最后的数据行
    lLastRow =Sheet3.Range("B65536").End(xlUp).Row
    ‘赋值时间所在列区域
    Set rng =Sheet3.Range("B1:B" & lLastRow)
    ‘当前时间
    dTime = Time
    ‘查找当前时间
    Set rngFind =rng.Find(dTime)
 
    Sheet5.TextBox1.Value =rngFind.Offset(0, -1).Value
    DisplayData
End Sub

注意,工作表中的“显示”按钮关联的子过程为“DisplayData”。

0 人点赞