特殊的東西總是會得到特別的照顧。在Excel中,可以使用“定位條件”來選擇一些特定的單元格,例如空單元格、帶有批注的單元格、當(dāng)前區(qū)域,等等。
下圖所示為帶有空單元格的工作表,我們要選擇這些空單元格。這時(shí),可以調(diào)出“定位條件”對話框,選取“空值”按鈕,單擊“確定”即可。
下面是SpecialCells方法的語法:
Range對象.SpecialCells(Type,Value)
說明:
返回一個(gè)Range對象,代表與參數(shù)Type和Value指定的值相匹配的所有單元格。
參數(shù)Type是必須的,其參數(shù)值及相應(yīng)的含義在上圖中已標(biāo)明。
參數(shù)Value可選,與xlCellTypeConstants(常量)或xlCellTypeFormulas(公式)配合使用來進(jìn)一步確定所選單元格的類型。該參數(shù)的值可以自由組合。
在《Excel VBA解讀(36):快速移動(dòng)單元格——End屬性》中,我們使用End屬性來確定一列或一行中的最后一個(gè)被使用的單元格。之所以要找到最后一個(gè)單元格,很多情形下是因?yàn)槲覀円_定用于填充數(shù)據(jù)的下一個(gè)空行或空列,這里我們也可以使用SpecialCells方法來確定最后一個(gè)單元格。
如下圖所示的工作表,運(yùn)行下面的代碼顯示最后一個(gè)單元格為C7。
Sub testSpecialCells()
Dim rng As Range ‘聲明單元格對象
Set rng =Selection.SpecialCells(xlCellTypeLastCell)
MsgBox “工作表中最后一個(gè)單元格是”& _
rng.Address(RowAbsolute:=False,ColumnAbsolute:=False)
End Sub
可以看出,SpecialCells方法得到的是工作表中行列值最大的單元格,即使該區(qū)域中包含有空行或空列。