Excel VBA 的眉眉角角Day20:關於日期的相關問題
文章推薦指數: 80 %
Print "本週第幾天:" & Format(dateNow, "w") Debug.Print "當年的第幾週:" & Format(dateNow, "ww") Debug.Print "當年的第幾季:" & Format(dateNow, "q") Debug.
DAY
20
0
ExcelVBA的眉眉角角系列第
20篇
ExcelVBA的眉眉角角Day20:關於日期的相關問題
鐵人賽
AndyChiu
2014-10-1209:58:1230606瀏覽
關於日期的處理,我整理了幾個要點,希望大家使用前先看一下,避免浪費時間在debug與tryanderror。
我用以下三個程式來介紹
一、日期、時間的顯示
SubDay20_1()
'使用Format方法來取得日期、時間的相關數據
dateNow=Now
Debug.PrintdateNow
Debug.Print
Debug.Print"標準日期:"&Format(dateNow,"ddddd")
Debug.Print"長日期:"&Format(dateNow,"dddddd")
Debug.Print"4碼年份:"&Format(dateNow,"yyyy")
Debug.Print"2碼年份:"&Format(dateNow,"yy")
Debug.Print"2碼月份:"&Format(dateNow,"mm")
Debug.Print"1碼月份:"&Format(dateNow,"m")
Debug.Print"月份(英文):"&Format(dateNow,"mmmm")
Debug.Print"短月份(英文):"&Format(dateNow,"mmm")
Debug.Print"2碼日期:"&Format(dateNow,"dd")
Debug.Print"1碼日期:"&Format(dateNow,"d")
Debug.Print"星期:"&Format(dateNow,"aaaa")
Debug.Print"短星期:"&Format(dateNow,"aaa")'2003無作用,僅於儲存格格式作用
Debug.Print"星期(英文):"&Format(dateNow,"dddd")
Debug.Print"短星期(英文):"&Format(dateNow,"ddd")
Debug.Print"本週第幾天:"&Format(dateNow,"w")
Debug.Print"當年的第幾週:"&Format(dateNow,"ww")
Debug.Print"當年的第幾季:"&Format(dateNow,"q")
Debug.Print
Debug.Print"完整時間:"&Format(dateNow,"ttttt")
Debug.Print"2碼時"&Format(dateNow,"hh")
Debug.Print"1碼時"&Format(dateNow,"h")
Debug.Print"2碼分"&Format(dateNow,"nn")
Debug.Print"1碼分"&Format(dateNow,"n")
Debug.Print"2碼秒"&Format(dateNow,"ss")
Debug.Print"1碼秒"&Format(dateNow,"s")
Debug.Print"AM/PM:"&Format(dateNow,"AM/PM")
Debug.Print"A/P:"&Format(dateNow,"A/P")
Debug.Print"24小時制:"&Format(dateNow,"hh:mm:ss")
Debug.Print"12小時制:"&Format(dateNow,"hh:mm:ssAM/PM")
Debug.Print"當月有幾日"
EndSub
執行結果:
二、取得該月有幾天
SubDay20_2()
'取得該月有幾天
'方式一
st=Year(Date)-1
st=st&"-12-31"
m=Month(Date)
d=DateAdd("m",m,DateValue(st))
d=Day(d)
Debug.Print"方法1:"&m&"月份最後一日是:"&d
'方式二
Debug.Print"方法2:"&Month(Date)&"月份最後一日是:"&Day(DateAdd("m",1,(Format(Date,"yyyy/m/")&1))-1)
EndSub
執行結果:
三、關於日期的搜尋
SubDay20_3()
'關於日期資料的搜尋方式
'如果搜尋的變數為日期變數,沒問題
'如果搜尋的變數為文字變數,須套用DateValue函數才行
DimdateTargetAsDate
DimstrTargetAsString
dateTarget="2014/1/4"'日期格式的日期資料
strTarget="2014/1/4"'文字格式的日期資料
OnErrorGoToErrZona
Debug.Print
Debug.Print"字串/一般:"&Worksheets("Day20").Cells.Find(strTarget).Row
Debug.Print"字串/使用What:方式:"&Worksheets("Day20").Cells.Find(What:=strTarget).Row
Debug.Print"字串/使用DateValue方式:"&Worksheets("Day20").Cells.Find(DateValue(strTarget)).Row
Debug.Print
Debug.Print"日期/一般:"&Worksheets("Day20").Cells.Find(dateTarget).Row
Debug.Print"日期/使用What:方式:"&Worksheets("Day20").Cells.Find(What:=dateTarget).Row
Debug.Print"日期/使用DateValue方式:"&Worksheets("Day20").Cells.Find(DateValue(dateTarget)).Row
ExitSub
ErrZona:
Debug.PrintErr.Number&":"&Err.Description
ResumeNext
EndSub
資料表:
執行結果:
要點一,將有助於建構以日期為基礎的檔案名稱資料,或者便於分類。
要點二則帶出當月總天數,有便於計算與天數有關的程式。
第三點則是工作表搜尋,若要收尋工作表為「日期」的資料,變數也一定得是日期,否則需要用DateValue,不然資料是找不到的。
以上幾點與各位分享!
留言
追蹤
檢舉
上一篇
ExcelVBA的眉眉角角Day19:判斷檔案是否已開啟
下一篇
ExcelVBA的眉眉角角Day21:執行外部程式
系列文
ExcelVBA的眉眉角角
共30篇
目錄
RSS系列文
訂閱系列文
62人訂閱
26
ExcelVBA的眉眉角角Day26:將Excel圖表轉存成圖檔後,透過email寄送
27
ExcelVBA的眉眉角角Day27:匯入外部圖片、縮圖放大以及大頭照的快速裁切方法
28
ExcelVBA的眉眉角角Day28:SQL運用
29
ExcelVBA的眉眉角角Day29:如何抓取網路上的資料?以issuu.com為例
30
ExcelVBA的眉眉角角Day30:超連結與總結
完整目錄
尚未有邦友留言
立即登入留言
iT邦幫忙鐵人賽
參賽組數
1087組
團體組數
52組
累計文章數
20470篇
完賽人數
572人
鐵人賽最新文章
gotodie?那個goto到底能不能用啊?
2021/12/12更新
予焦啦!一夢終須醒......
盤點清查與檢測掃描-資通安全健診
[13th][Day23]httpresponseheader(下)
[13th][Day22]httpresponseheader(上)
[13th][Day21]golangcontext
股票怎麼選?掌握這原則,你也能找到強勢股
Gitpush
盤點清查與檢測掃描-安全性檢測
前往鐵人賽
技術推廣專區
[Day2]抓取每日收盤價
[Day1]基本工具安裝
利用python取得永豐銀行API的Nonce
[Day03]tinyML開發板介紹
永豐金融API測試員
[Day01]在享受tinyML這道美食之前
[Day3]使用ta-lib製作指標
[Day4]函數打包與買進持有報酬率試算
計算API所需要的參數:HashID
計算API所需要的參數:IV
前往鐵人賽
熱門問題
公司想要客製化一套ERP系統該選擇軟體開發?套裝系統?還是自行設立部門?
軟體工程師會被監控嗎
遠端重開當機電腦的方法
我有一個客戶中了mljx病毒勒索950美金我免費轉讓有人要接嗎?
訂房網站DB架構
加班提醒視窗
想找PDF編輯工具,Adobe太貴了,請問還有其他推薦的替代方案嗎?
(以解決)請問GMAIL群組.假如公司之前有業務群[email protected].有新職員收不到這個.如何把新業務加入
切割vlan網段方式
請問EXCEL如何在抓取網頁外部資料後並設定好自動更新,寫的程式可以在資料更新時自己動作?
IT邦幫忙
站方公告
【2021iThome鐵人賽】登登登!究竟獎落誰家,2021iThome鐵人賽得獎名單正式揭曉
熱門tag
看更多
13th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
windows
php
python
windowsserver
linux
c#
程式設計
資訊安全
css
vue.js
sql
分享
熱門回答
公司想要客製化一套ERP系統該選擇軟體開發?套裝系統?還是自行設立部門?
想找PDF編輯工具,Adobe太貴了,請問還有其他推薦的替代方案嗎?
軟體工程師會被監控嗎
遠端重開當機電腦的方法
請問EXCEL如何在抓取網頁外部資料後並設定好自動更新,寫的程式可以在資料更新時自己動作?
(以解決)請問GMAIL群組.假如公司之前有業務群[email protected].有新職員收不到這個.如何把新業務加入
RedhatEnterpriselinux5.5安裝Oracle問題
MYSQL如何將欄位中的json陣列資料拆分出來
防火牆如何設定DenyPolicy,以提高資安機制?
請問目前php8版本的問題
熱門文章
予焦啦!一夢終須醒......
盤點清查與檢測掃描-資通安全健診
gotodie?那個goto到底能不能用啊?
再增加五隻狗勾
自己在家接收來自飛機的ADS-B訊號!
良福保全徵求C#ASP.NET程式設計儲備主管
第五隻狗勾
2021/12/12更新
第七隻狗勾
第六隻狗勾
一週點數排行
更多點數排行
海綿寶寶(antijava)
㊣浩瀚星空㊣(yoching)
居然解出來了(partyyaya)
japhenchen(japhenchen)
raytracy(raytracy)
ccenjor(ccenjor)
fillano(fillano)
mathewkl(mathewkl)
純真的人(jer5173)
juck30808(juck30808)
×
At
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{result.label}}
{{result.account}}
關閉
延伸文章資訊
- 1WorksheetFunction WeekNum 方法(Excel) | Microsoft Docs
WeekNum 函數會將包含一月份1的星期視為一年的第一周。 ... Visual Basic for Applications (VBA) 計算不同于Excel 的序列日期。 在VBA 中,序...
- 2Excel-計算日期為第幾週@ 學不完.教不停.用不盡:: 痞客邦
延伸文章資訊 · 1. 2712Excel指定日期為指定週數的公式方法| 錦子老師- 點部落 · 2. WorksheetFunction.WeekNum 方法(Excel) | Microso...
- 3正确计算今天是一年中的第几周-Excel VBA程序开发
正确计算今天是一年中的第几周Function 日期转周号(y As Date) 'y=现在日期Dim ss As Date , ksr As Date , yss As Datenf = Rig...
- 4[求助]请问如何在VBA里求第几周?
在EXCEL里面可以用weeknum(now()) 求出当前是第几周,但是在VBA里面,用Application.worksheetfunction. 在下拉列表里找不到weeknum函数。
- 5Excel-計算日期為第幾週
網友問到:如何計算某個日期為當年第幾週?如果不使用WEEKNUM 函數,如何做到相同結果?(參考下圖) (1) 使用WEEKNUM 函數在Excel 2010 中, ...