亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風(fēng)向標(biāo)——亞洲寵物展覽會(huì)深度解析
782
2025-04-03
Excel VBA中的Date類(lèi)型的匹配問(wèn)題
VBA的Date類(lèi)型比較奇怪。
測(cè)試:
1. 新建一個(gè)空白的Excel文檔,在A1單元格輸入2009-11-12。
2. 打開(kāi)VBA編輯器,插入模塊,增加下面這個(gè)宏
Sub test() MsgBox #11/12/2009# = Range("A1").Value ' true MsgBox VarType(#11/12/2009#) = VarType(Range("A1").Value) ' true MsgBox Application.WorksheetFunction.Match(#11/12/2009#, Range("A1"), 0) ' errorEnd Sub
3. 按F5運(yùn)行test宏,可以看到Range("A1")的類(lèi)型和值都和#11/12/2009#一致(通過(guò)對(duì)range("A1")的監(jiān)視也可以看出這一點(diǎn)),都是Date類(lèi)型,但是如果用match去匹配的話,卻出現(xiàn)錯(cuò)誤。
解決方法,在匹配中將要匹配的Date類(lèi)型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成Long類(lèi)型去匹配。
MsgBox Application.WorksheetFunction.Match(CLng(#11/12/2009#), Range("A1"), 0)
對(duì)其原理還是不清楚,不知道有沒(méi)有看到的高手來(lái)做一下解釋。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。