如何在VBA語句中使用WEEKNUM函數? - How can I use the ...
文章推薦指數: 80 %
I want to write a VBA, to check if WEEKNUM or ISOWEEKNUM equal to the value, then run the rest of ma.
开发者知识库
1秒登录去广告
首页
最新
最火
年薪50万教程
关于
搜索答案
中文简体
相关内容
如何在VBA語句中使用WEEKNUM函數?[英]HowcanIusetheWEEKNUMfunctioninastatementinVBA?
本文翻译自
Ali
查看原文
2016-07-09
10901
excel/
datetime/
excel-formula/
vba/
excel-vba
IwanttowriteaVBA,tocheckifWEEKNUMorISOWEEKNUMequaltothevalue,thenruntherestofmacro.I'vetriedtodothatbutIgotanerrorbecauseofusingTODAYasarg.
我想寫一個VBA,檢查WEEKNUM或ISOWEEKNUM是否等於該值,然后運行其余的宏。
我試過這樣做但是因為使用TODAY作為arg我得到了一個錯誤。
3个解决方案
#1
0
HereisonewaytousebothWEEKNUM()andTODAY()inVBA:
這是在VBA中同時使用WEEKNUM()和TODAY()的一種方法:
Subdural()
IfEvaluate("=weeknum(today())")=28Then
MsgBox28
Else
MsgBox"not28"
EndIf
EndSub
#2
5
UsetheWorksheetFunctionobjectorExcelApplicationobjecttocallnativefunctionsintoVBA.
使用WorksheetFunction對象或ExcelApplication對象將本機函數調用到VBA中。
debug.printWorksheetFunction.WeekNum(Date)
debug.printapplication.WeekNum(Date)
debug.printWorksheetFunction.IsoWeekNum(Date)
debug.printapplication.IsoWeekNum(Date)
ifapplication.WeekNum(Date)=28then
'itiscurrently28
endif
InVBA,theTODAY()functionisreplacedbyDate.
在VBA中,TODAY()函數由Date替換。
#3
3
TheWEEKNUMfunctionconsiderstheweekcontainingJanuary1tobethefirstweekoftheyear.However,thereisaEuropeanstandardthatdefinesthefirstweekastheonewiththemajorityofdays(fourormore)fallinginthenewyear.ThismeansthatforyearsinwhichtherearethreedaysorlessinthefirstweekofJanuary,theWEEKNUMfunctionreturnsweeknumbersthatareincorrectaccordingtotheEuropeanstandard.
WEEKNUM函數將包含1月1日的一周視為一年中的第一周。
但是,有一個歐洲標准將第一周定義為在新的一年中大部分時間(四個或更多)下降的那個星期。
這意味着,在1月的第一周有三天或更少的年份,WEEKNUM函數返回根據歐洲標准不正確的周數。
Subtest()
DimwnAsInteger
wn=Format(Date,"ww")
Debug.Printwn
EndSub
ISOWeeknumUDFis.TheISOweeknumber
ISOWeeknumUDF是。
ISO周數
TheISO-criteriaforthefirstweekinayear:-aweekstartsatmonday;somondayisthefirstdayofanyweek-thefirstweekinayearmustcontainatleast4daysinthatyear
一年中第一周的ISO標准:-一周從星期一開始;所以星期一是任何一周的第一天-一年中的第一周必須包含該年至少4天
the1stofjanuaryisinweek1ifit'samonday,tuesday,wednesdayorthursday
如果是星期一,星期二,星期三或星期四,1月1日是在第1周
the4thofjanuaryisalwaysinweek1ofanyyear
1月4日總是在任何一年的第1周
thefirstthursdayinayearisalwaysinweek1一年中的第一個星期四總是在第1周PublicFunctionISOweeknum(ByValv_DateAsDate)AsInteger
ISOweeknum=DatePart("ww",v_Date-Weekday(v_Date,2)+4,2,2)
EndFunction
TotestthisFunctionanothersmallroutinecanbeadded.要測試此函數,可以添加另一個小例程。
Subtest_today_weeknum()
DimdtAsDate
DimwnoAsInteger
'Inthisexample,thevariablecalledLDatewouldnowcontainthecurrentsystemdate.
dt=Date
Debug.Printdt
wno=ISOweeknum(dt)
Debug.Printwno
EndSub
Fortodayi.e.9-7-2016,Firstonegivesweeknum28whereasISOweeknumfunctiongives27
對於今天,即9-7-2016,第一個給出第28周,而ISO周期函數給出27
For9-7-2015boththeaboveroutineswillgiveweeknum28
對於9-7-2015,上述例程都將給出第28周
Togetthecurrentday(withoutthetimeportion)inacellformulainExcel,use:
要在Excel中的單元格公式中獲取當前日期(沒有時間部分),請使用:
=TODAY()
IntheVBAprogrammingenvironment,however,thefunctionwouldbeDATE().NowcontainsboththecurrentdateandtimewhileDateandTimeareseperatecommandsforthedateandtime.Italldependsonwhichinformationyouneed.
但是,在VBA編程環境中,函數將是DATE()。
現在包含當前日期和時間,而日期和時間是日期和時間的單獨命令。
這取決於您需要哪些信息。
×
注意!
本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:https://www.itdaan.com/blog/2016/07/09/6f5e1f5b7cb85daa2d58fda07a275688.html。
HowcanIuseaSQLMERGEStatementinVBAaccess?
HowcanIuseafunctionpointerinsteadofaswitchstatement?
HowtouseANDinIFStatement-VBA
HowcanIuseSqltoOrderByThisStatement?
HowcanIuseaIf/LoopStatement
HowcanIuseanoptionalvaluewithifstatement?
HowdoIusecheckboxesinanIF-THENstatementinExcelVBA2010?
HowdoIcorrectlyuseanAvgfunctioninanupdatestatement?
HowdoIuse“Ifstatement”inechofunctionforPHP
Howcaniuseafunctioninmultipledrivers?
粤ICP备14056181号 ©2014-2021ITdaan.com
×
收藏本文
添加到收藏夹*
关闭确定
延伸文章資訊
- 1WEEKNUM VBA在PTT/Dcard完整相關資訊
WeekNum method (Excel) | Microsoft Docs2019年5月25日· In VBA, serial number 1 is December 31, 1899, ...
- 2如何在VBA語句中使用WEEKNUM函數? - How can I use the ...
I want to write a VBA, to check if WEEKNUM or ISOWEEKNUM equal to the value, then run the rest of...
- 3Finding the week number using VBA in Microsoft Excel
In the “Display_WeekNum” custom function, we have used WorksheetFunction to access the inbuilt WE...
- 4如何在VBA语句中使用WEEKNUM函数? - Thinbug
标签: excel excel-vba datetime excel-formula vba. 我想写一个VBA,检查WEEKNUM或ISOWEEKNUM是否等于该值,然后运行其余的宏。我试过这...
- 5WorksheetFunction WeekNum 方法(Excel) | Microsoft Docs
Visual Basic for Applications (VBA) 計算不同于Excel 的序列日期。 在VBA 中,序號1是12月31日1899,而不是1900。 支援和意見反應. 有關於...