Function CellType(Rng)Dim Cella As Range Set Cella = Rng.Range("A1") Select Case TrueCase IsEmpty(Cella)CellType = "Blank"Case Application.IsText(Cella)CellType = "Text"End SelectEnd FunctionSub 類型()Dim a As Varianta = CellType(Selection)MsgBox "該類型為:" & a, vbInformationEnd Sub
2 回答

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
這是一個(gè)來判斷某個(gè)單元格中數(shù)據(jù)類型的自定義函數(shù)。rng為單元格區(qū)域,可以為一個(gè)單元格,也可以是一塊單元格區(qū)域,Rng.Range("A1") 是你所選區(qū)域的第一個(gè)單元格,通過這個(gè)自定義函數(shù)來判斷如果為空,則返回此為blank,如果為文本,即返回text.

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
Rng.Range("A1")并不是表的第一個(gè)單元格。
Rng 是你的selection, Rng.Range("A1") 是你所選區(qū)域的第一個(gè)單元格
你的程序存在兩個(gè)情況:
1> 當(dāng)只選擇一個(gè)單元格時(shí)
2> 當(dāng)選擇多個(gè)單元格時(shí),如果所選區(qū)域有的單元格有值,有的沒有值,那么就有問題,而Rng.Range("A1"),將selection定位于所選區(qū)域的第一個(gè)單元格進(jìn)行判斷