excel如何識(shí)別空單元格和空白單元格?

      網(wǎng)友投稿 3091 2025-03-31

      excel如何識(shí)別空單元格和空白單元格?


      Q:在使用Excel時(shí)經(jīng)常聽到單元格為空或空白,這樣的說法有區(qū)別嗎?

      A:在Excel中,單元格為空(empty)或空白(blank)似乎可以互用,但它們有不同的含義:

      空單元格指沒有包含任何內(nèi)容的單元格,在其中沒有常量、沒有公式、沒有前綴字符。

      空白單元格指該單元格可以是空單元格、可以包括前綴字符或者空字符串(公式結(jié)果為空或者常量值)

      在工作表中,檢查單元格為空的最好方法是使用ISBLANK工作表函數(shù),如下所示。

      在中,第3行各列是第2行對(duì)應(yīng)列中輸入的結(jié)果,在單元格B3中直接輸入字符串“ Excel”,在C3中輸入公式=””,在D3中輸入前綴字符撇號(hào),E3中什么也沒有輸入。第4行使用ISBLANK函數(shù)判斷第3行對(duì)應(yīng)列中的單元格是否為空單元格。

      在VBA中,當(dāng)單元格為空時(shí),Range.Value屬性和Range.Value2屬性返回Variant/Empty,因此VBA代碼檢查單元格是否為空最好的方法是使用IsEmpty函數(shù)。

      對(duì)于所示的工作表,檢查單元格是否為空的VBA代碼:

      SubCheckIsEmpty()

      Debug.PrintIsEmpty(Sheet1.Range(“B3”).Value2) ‘結(jié)果為False

      Debug.PrintIsEmpty(Sheet1.Range(“C3”).Value2) ‘結(jié)果為False

      Debug.Print IsEmpty(Sheet1.Range(“D3”).Value2) ‘結(jié)果為False

      Debug.PrintIsEmpty(Sheet1.Range(“E3”).Value2) ‘結(jié)果為True

      End Sub

      COUNTBLANK工作表函數(shù)與ISBLANK工作表函數(shù)對(duì)應(yīng)的行為不一致。COUNTBLANK函數(shù)統(tǒng)計(jì)空單元格、具有空字符串的單元格和包含前綴字符的單元格,可以用于檢查單元格是否為空白單元格(顯示的是空),如所示。

      在中,第4行使用公式=COUNTBLANK(單元格)=1判斷指定單元格是否為空白單元格;在單元格B6中使用公式=COUNTBLANK(B3:E3)統(tǒng)計(jì)單元格區(qū)域B3:E3中空白單元格數(shù)。

      在VBA中,可以使用Range.Value(或Range.Value2)屬性與vbNullString常量相比較的結(jié)果來判斷單元格是否為空白單元格:

      SubCheckIsBlank()

      Debug.PrintIsBlank(Sheet1.Range(“B3”)) ‘結(jié)果為False

      Debug.PrintIsBlank(Sheet1.Range(“C3”)) ‘結(jié)果為True

      Debug.PrintIsBlank(Sheet1.Range(“D3”)) ‘結(jié)果為True

      Debug.PrintIsBlank(Sheet1.Range(“E3”)) ‘結(jié)果為True

      End Sub

      FunctionIsBlank(ByRef rngCheck As Range) As Boolean

      IsBlank = (CStr(rngCheck.Cells(1).Value2) =vbNullString)

      End Function

      還有一個(gè)更有效的方法是調(diào)用工作表函數(shù)COUNTBLANK函數(shù):

      Sub IfIsBlank()

      Debug.PrintIfBlank(Sheet1.Range(“B3”)) ‘結(jié)果為False

      Debug.PrintIfBlank(Sheet1.Range(“C3”)) ‘結(jié)果為True

      Debug.PrintIfBlank(Sheet1.Range(“D3”)) ‘結(jié)果為True

      Debug.PrintIfBlank(Sheet1.Range(“E3”)) ‘結(jié)果為True

      End Sub

      FunctionIfBlank(ByRef rngCheck As Range) As Boolean

      IfBlank =(Application.WorksheetFunction.CountBlank(rngCheck.Cells(1)) = 1)

      End Function

      最后,再談?wù)効兆址?兆址且粋€(gè)長度為的字符串,可以包含常量或者公式結(jié)果(為空)。例如,公式=””返回一個(gè)空字符串。如果你復(fù)制這個(gè)公式并粘貼為值時(shí)單元格中包含的空字符串為常量,有時(shí)從外部數(shù)據(jù)源導(dǎo)入數(shù)據(jù)時(shí)也會(huì)得到空字符串。

      下面的HasNullString函數(shù)在單元格中包含空字符串時(shí)返回True。如果想要忽略公式結(jié)果(例如,僅檢查常量),那么給參數(shù)blnConstantsOnly傳遞True。如果單元格中有前綴字符,那么該函數(shù)返回False。

      Public FunctionHasNullString( _

      ByRef rngToCheck As Range, _

      Optional ByVal blnConstantsOnly AsBoolean = False) _

      As Boolean

      Dim rngFirstCell As Range

      Dim strToCheck As String

      Dim varToCheck As Variant

      Set rngFirstCell = rngToCheck.Cells(1)

      varToCheck = rngFirstCell.Value2

      If Not IsEmpty(varToCheck) Then

      If blnConstantsOnly Then

      strToCheck = rngFirstCell.Formula

      Else

      strToCheck = CStr(varToCheck)

      End If

      If strToCheck = vbNullString Then

      HasNullString =(LenB(rngFirstCell.PrefixCharacter) = )

      End If

      End If

      End Function

      版權(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)容。

      上一篇:甘特圖軟件在哪里下載
      下一篇:Free Excel Password Recovery恢復(fù)Excel文件密碼的方法
      相關(guān)文章
      亚洲美免无码中文字幕在线| 亚洲区小说区图片区| 久久久久亚洲av毛片大| 亚洲AV无码一区二区三区牲色| 亚洲国产精品免费在线观看| 亚洲AV区无码字幕中文色 | 亚洲人成精品久久久久| 亚洲一区视频在线播放| 亚洲?v无码国产在丝袜线观看| 亚洲精品无码少妇30P| 国产AV无码专区亚洲AV蜜芽| 亚洲狠狠婷婷综合久久蜜芽| 亚洲а∨精品天堂在线| 国产成人精品亚洲一区| 亚洲成av人在片观看| 亚洲日本va午夜中文字幕久久| 亚洲免费日韩无码系列| 国产亚洲精品自在线观看| 一本色道久久综合亚洲精品| 亚洲精品无码鲁网中文电影| 亚洲AV无码一区二区二三区软件| 亚洲AV永久无码精品水牛影视| 亚洲毛片在线观看| 亚洲成a人片7777| 亚洲综合色婷婷在线观看| 亚洲av片在线观看| 亚洲人成网站18禁止一区| 亚洲欧洲无码AV电影在线观看| 亚洲精品蜜桃久久久久久| 亚洲激情在线观看| 亚洲六月丁香六月婷婷蜜芽| 91丁香亚洲综合社区| 色窝窝亚洲AV网在线观看| 亚洲色偷偷狠狠综合网| 亚洲精品无码国产| 337p日本欧洲亚洲大胆艺术| 亚洲中文字幕一二三四区苍井空| 亚洲国产精品ⅴa在线观看| 国产亚洲精品第一综合| 亚洲中文字幕无码日韩| 亚洲2022国产成人精品无码区|