前景提要
昨天和大家分享了計算日期之間的差距的方法,相信能夠在一定的程度上幫助廣大HR工作者在時間計算上面的問題,今天我們繼續前進,日期之間的差距實際上就是日期之間的減法,那麼有減法自然會有加法了,今天我們就來說說日期之間的加法,日期之間的加法又是什麼呢?
比方說3天之後你要準備一個重要的事情要做,或者是重要的會議,或者是一次浪漫的巴黎旅行(PS:最近疫情嚴重,還是不要去外國比較好),或者和伴侶的一次重要約會,這些都是需要提前做好準備的事情,但是你平時工作比較忙,你可能就會忘記要準備這些事情,到真正要去開會,旅行的時候,你就會手忙腳亂的,毫無頭緒,今天就和大家分享一個簡易的excel事件提醒功能,這樣就可以提前通知你做好準備,從而不再手忙腳亂了,那麼三天之後的日期怎麼算呢,你現在肯定能夠算出來,因為很簡單,如果我拉長時間,13,16你就不一定那麼好算, 就算你算得出來,肯定到時候你也忘記了。
場景說明
說到提醒功能,很多的人都會想到各種各樣的手機APP軟體,這些軟體雖然功能很強大,但是手機並不是日常工作中的必需品,你不可能在手機上處理數據,處理表格,處理作圖甚至開業務,而excel又是我們日常工作中常用的軟體,所以如果可以在excel中實現提醒的功能的話,效果絕對是更加的完美,我們一起來看看如何實現這個excel事件提醒功能吧
我們假設3天之後,公司要組織去法國巴黎旅遊,出國旅遊的話,可能要準備很多的東西,諸如護照,外幣等東西,如果不提前準備的話,去到外國就比較的麻煩,所以我們製作一個excel的提醒功能,讓excel提前1天提醒我們要準備東西。
代碼如下:
Private Sub Workbook_Open()
Dim Todayd
Todayd = DateAdd("d", -2, Now())
TargetD = DateAdd("d", 2, Todayd)
If Format(TargetD, "yyyy/m/d") = #4/16/2019# Then
MsgBox "要記得準備去巴黎旅行的東西啊!"
End If
End Sub
場景說明
今天的代碼的起手式和之前的代碼有一些不同,因為我們今天想要實現的效果應該是在我們打開一個常用的工作薄的時候,就會提醒我們,想要實現工作薄一打開就提醒的功能,需要在工作薄的打開事件中來實現,不過工作薄的事件我們還沒有分享過,所以今天暫時先不細說這個部分,我們只需要記住這段代碼應該寫在那裡,寫在哪裡呢?看下面的圖
寫在其他的地方是沒有這樣的效果的,然後我們來解析下代碼
今天我們要學的一個新知識就是dateadd這個方法,它的主要的作用就是幫助我們進行日期的加法計算的,比方說我想要得到2天之前的日期,
Todayd = DateAdd("d", -2, Now())
反之如果我想要得到2天之後的日期呢
TargetD = DateAdd("d", 2, Todayd)
都很簡單,DateAdd他需要提供三個參數,第一個參數就是時間的單位,年月日周這樣的,在上節課我們已經分享了相關的常用寫法,這裡就不講述了,然後第二參數就是number類型,數字,你想要得到時間的加法,那就是正數,想要得到時間的減法,那就是負數,最後一個參數就是日期,即計算的日期,
因為我們想要構造的是日期為今天的日期就提醒我們,為了展示的方法,所以我們假設開始時間是兩天前,兩天前的日期如何求,上面已經寫了,然後兩天的前的日期加上2,就是今天的日期,得到了今天的日期之後,就可以提醒了,但是這裡為了能夠讓大家清楚的知道時間的準確,我們這裡在增加一個判斷,得到了最終的時間日期之後,我們做一個判斷,判斷下是不是今天的日期。
If Format(TargetD, "yyyy/m/d") = #4/16/2019# Then
如果是今天的日期,就可以彈窗提示我們,應該要準備去巴黎旅行的東西了。
這裡可能有童鞋要問format這段話的意思了,在之前函數篇我們已經分享過了,就是轉化日期格式的方法,這也驗證了小編之前說的,所有的程序都是由一個個的函數打造出來的,大家一定要好好學習函數篇的內容,實在忘記了可以翻下之前的文章。
我們來一起調試下,這樣大家能夠更清楚效果
這裡為了演示的方便,我將所有的時間都輸入了,這樣大家能夠看到更加清楚。最終效果就是當達到了設定的日期之後,就會彈窗提醒我們應該做什麼事情了。
總結
今天主要分享了一個excel時間提醒的小功能,主要用到的方法就是dateadd方法,同時也用到了excel的事件功能,事件功能我們後面會慢慢的接觸到,今天主要是為了演示方面,讓功能的效果大家更好理解,所以就提前涉及下這個時間功能,有了這個日期提醒功能之後,相信大家在日後比方說碰到重要的會議,截稿日期之類的事情的時候,就不會再忘記了,提前準備好自己要做的事情,杜絕毫無意義的加班,避免996的悲劇的出現。