Excel VBA之日期篇 4.2重要日程提醒 讓你不再手忙腳亂

2021-01-08 Excel和VBA

前景提要

昨天和大家分享了計算日期之間的差距的方法,相信能夠在一定的程度上幫助廣大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的悲劇的出現。

相關焦點

  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    只需要在 freq 參數傳入字母即可表達你希望按日期的哪個部分進行分組。比如:"M" 表示按月,"Y" 表示按年。最後,定義一個方法,讓vba調用。如下圖:這個方法的上方套上一個 xlwings 的裝飾器 @xw.func。表示這個方法需要註冊到 Vba 模塊中。
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    帶你用pandas玩轉各種數據處理前言在本系列的上一章已經介紹了如何讀寫 excel 數據,並快速進行匯總處理。但有些小夥伴看完之後有些疑惑:那只是簡單讀寫數據而已,有時候需要設置 excel 的格式。我用透視表不用寫代碼,兩三下也可以弄出結果來。今天,我就沿用上一章的數據,把需求升級一下,以解決上述疑點。
  • vivo手機如何設置事項提醒?重要日程絕不錯過!
    不管個人的記憶力多麼厲害,當有一件事情霸佔你整個大腦的活動區域時,都會選擇性忘記掉其他的事情,但在工作中有些重要的事情是不能忘記的,或者應該說一旦不小心遺忘可能會為自己帶來嚴重的後果。為此大部分人都會選擇在筆記本、便籤上進行重要日程時間備註,只是相對比較容易遺失或是忽略。所以一些人會習慣在電腦以及手機這類電子設備上設置提醒,時間一到就會自動提醒,不容易忽略。
  • excel日期函數技巧:到期時間提醒的幾種設置方法
    關於這些何時到期的自動提醒,我們可以使用excel中的到期提醒功能實現。今天將給大家提供5種製作到期提醒的方法,第一種最簡單,最後一種最人性化並且能實現篩選控制。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • 簡單操作讓你不再對多窗口手忙腳亂
    兩個word、一個文本文檔、三個excel表格再加上微信、釘釘、QQ乃至網易雲音樂。任務欄一大串縮略框擠在一起密密麻麻,想要找到自己需要的窗口需要很大功夫。如果遇到了需要幾個窗口來回切換的工作,更會很容易變得手忙腳亂,找不到自己需要的那一個。今天給大家分享幾個小技巧,可以讓你輕鬆應對多窗口情況,不再變得手忙腳亂。
  • Excel VBA之日期篇 4.6 輕鬆獲得月末日期 財務結算無壓力
    前景提要臨近年關,又來到了每年公司人員流動最大的時候了,尤其是今年受到疫情的影響,很多人都打算提前回家,害怕晚走就不能回家了,但是工作還是要有人做的,那麼公司就不得不請臨時工來幫忙了,臨時工之所謂臨時工,因為都是臨時的,說走就走,來的快走的也快,財務核算全年財務數據的時候就很頭疼了,尤其是月末日期的確定,不方,今天我們來繼續嘗試用VBA獲得準確的月末日期
  • Excel VBA之日期篇 4.1 在職時間計算 專為HR量身打造
    前景提要我們終於完成了VBA函數篇的分享,在函數篇中,我們需要的都是一些非常基礎的知識,這些非常基礎的知識,可能大家並不是很感興趣,畢竟能夠解決的問題並不是很多,後面我將會儘量將知識點和實際的場景相結合,儘量幫助大家解決更多的問題,本篇章我們主要分享的是一些日期和時間相關的知識,希望可以解決大家在日常工作中在時間處理上面的一些問題,如果大家有什麼相關的問題,也可以提出來
  • VBA編程理論學習之談
    No.2 功能完善整個9月總共做了38個文件,每一個都是實例操作。有些是解決基本應用需求,也有一些是Excel vba基礎的對象以及屬性功能介紹。總的來說,這個月有一些進展,也有一些心得和知識積累。有幾篇比較不錯的文章持續得到展示和瀏覽,說明這方面還是做到了大多數關注。所以也對這些文件做進一步修改,以完善其功能。
  • excel怎麼利用vba獲取單元格交叉範圍的數據
    excel中使用vba獲取多個單元格區域的交叉範圍  1、首先我們打開一個工作樣表作為例子。   2、在工作中,我們常常會遇到選擇多個工作表區域,而兩個工作表區域的交叉範圍如果需要我們再去選取的話,需要非常的小心,不然選擇錯誤了又得重新來過
  • 簡單操作讓你不再對多窗口手忙腳亂
    兩個word、一個文本文檔、三個excel表格再加上微信、釘釘、QQ乃至網易雲音樂。任務欄一大串縮略框擠在一起密密麻麻,想要找到自己需要的窗口需要很大功夫。如果遇到了需要幾個窗口來回切換的工作,更會很容易變得手忙腳亂,找不到自己需要的那一個。今天給大家分享幾個小技巧,可以讓你輕鬆應對多窗口情況,不再變得手忙腳亂。
  • Excel vba 利用定義名稱實現用戶登錄功能
    如何用定義名稱來對用戶進行管理其實,名稱以隱式狀態存儲,一般情況下也不會去檢查是否存在,特別是一些剛學習excel的人來說,對此也並不十分了解。所以,在隱蔽性來說,有一點點可取之處。以前經常破解word文檔密碼,感覺那種密碼真的是不太有效,通過製作vba編程,也達不到想要的保密狀態,所以,這個功能也只能是象徵性實現一下登錄的效果。
  • Excel實現信息管理系統之數據錄入界面設計步驟詳解
    本身excel就是一款功能強大的數據信息管理和分析軟體,我們如果在它的基礎上在設計信息管理的功能感覺有點多此一舉。但是大家仔細想想,我們在excel錄入數據時,很多時候都是在單元格中直接輸入,亦或者使用excel記錄單錄入數據,然後再進行數據處理,這種方式對於大眾來講非常簡單快捷。但是如果我們處理的數據量大,錄入數據時有若干列,或者多人錄入時,這樣直接輸入真的會很便捷嗎?
  • 你的第一行VBA代碼
    今天帶你寫第一行vba代碼1.新建啟用宏的工作簿:打開excel軟體,將文件保存為啟用宏的工作簿:2. 點擊「文件」-》「選項」,把開發工具選項卡加到頂部選項卡:3.去除個人信息設置:將隱私選項中的保存個人信息勾選框取消勾選。
  • WPS教程:excel新手入門VBA功能使用介紹
    Excel教學:今天和大家分享一下excel中vba的使用方法入門,相信很多使用該軟體的朋友們對此都很感興趣,下面就和大家來分享一下,希望可以幫助到大家。工具/原料電腦:組裝臺式機系統:windows 10專業版版本:WPS Office 2019 PC版方法/步驟1.首先,我要知道商品的單價是12.5,在D1單元格輸入【商品單價】,在D2單元格輸入12.52.接著我們打開vb界面,在常用工具欄上執行:開發工具--visual basic。
  • Vba第十九課
    a" b = "vba" Like "???" c = "我愛vba" Like "*愛*" d = "我愛vba" Like "我*"End Sub注釋:上圖顯示結果為true值為真,表示匹配例:把下表中姓李的同學所在行標計為紅色背景色Sub like語句2()Dim a!
  • excel函數公式應用:時間日期提取公式匯總,你用過哪些?
    如何快速計算某日期是年內第幾周、星期幾,以及日期之間間隔的天數、月數、年數、小時數、分鐘數?如何快速補全指定月份日期,合併日期和時間?今天老菜鳥針對上述在日常工作中經常會遇到的問題,總結了20個常用的關於日期和時間的公式,趕緊來看看吧!學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • excel中2000行數據以行排序,你需要多長時間
    Hello,大家好,今天跟大家分享下我們如何使用錄製宏批量的按照行來對數據排序,這個之前發過視頻,但是很多粉絲表示沒看懂,今天就來詳細的介紹下這種方法一、宏是什麼宏本質上就是我們所說的vba代碼,錄製宏就是將我們的操作記錄下來,將其編譯為vba代碼,當我下次需要重複操作的時候只需要運行宏excel就會幫自動幫我們搞定。
  • excel如何實現更改數據就自動填充顏色的功能?你需要用到它
    Hello,大家好,工作中是不是有遇到這樣的情況,當我們做好的表格發給領導後,領導修改了下說可以了,但是因為數據太多,不知道修改了哪裡,十分的鬱悶,今天就跟大家分享下在excel中如果別人更改了單元格就會自動的填充顏色實現這樣的功能我們需要使用excel中的vba代碼來實現
  • Excel VBA之日期篇 4.4合同到期時間計算 HR必備方法
    前景提要今天我們繼續來分享一些日期方面的問題,今天公司的HR過來找我,向我請教有沒有什麼好的方法能夠快速的計算出合同到期的時間,他說之前我雖然分享過一篇關於計算員工在職時間方面的文章,他也看過,但是他覺得並不適合他的工作場景,因為那個只能計算兩個時間之間差距,現在他反而是有了合同的時效