簡體   English   中英

VBA(Excel)中= Empty和IsEmpty()之間有什么區別?

[英]What is the difference between =Empty and IsEmpty() in VBA (Excel)?

我使用了以下VBA代碼:

Do While .Cell(i,1) <> Empty
  ' doing things
  i = i+1
Loop

在Excel中迭代列(具有Double / Integer值)。 然后我發現了一個案例,只要單元格的值為0,測試就會計算為False。我不知道這個案例和工作案例之間有什么區別。

如果我將測試更改為:

Do While Not IsEmpty(.Cell(i,1))
  ..
Loop

它工作正常。 所以我的問題是:如何評估IsEmpty()和= Empty之間的區別? 對於值為0的單元格,在什么情況下將= Empty計算為True?

Empty表示變量處於其默認值。 因此,如果檢查值為0的單元格是否為Empty則返回true。

IsEmpty指的是沒有初始化的值。

簡而言之,如果您想查看單元格是否為空(如其值中沒有任何內容),請使用IsEmpty 如果要查看某些內容當前是否為默認值,請使用Empty

來自幫助:
如果變量未初始化,或者顯式設置為Empty ,則IsEmpty返回True; 否則,返回False。 如果expression包含多個變量,則始終返回False。
IsEmpty 僅返回變體的有意義信息

要檢查單元格是否為空,可以使用cell(x,y) = ""
您最終可以通過使用Range("X:Y").SpecialCells(xlCellTypeBlanks)來節省時間Range("X:Y").SpecialCells(xlCellTypeBlanks)xlCellTypeConstantsxlCellTypeFormulas

我相信IsEmpty只是獲取Cell的返回值並檢查其是否為空的方法:IsEmpty(.Cell(i,1))是否 - >

return .Cell(i,1) <> Empty

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM