以下函数中Set Cella = Rng.Range("A1") 是什么用意啊?

Function CellType(Rng)
Dim Cella As Range 
Set Cella = Rng.Range("A1") 
Select Case True
Case IsEmpty(Cella)
CellType = "Blank"
Case Application.IsText(Cella)
CellType = "Text"
End Select
End Function

Sub 类型()
Dim a As Variant
a = CellType(Selection)
MsgBox "该类型为:" & a, vbInformation
End Sub

叮当猫咪
浏览 126回答 2
2回答

忽然笑

这是一个来判断某个单元格中数据类型的自定义函数。rng为单元格区域,可以为一个单元格,也可以是一块单元格区域,Rng.Range("A1") 是你所选区域的第一个单元格,通过这个自定义函数来判断如果为空,则返回此为blank,如果为文本,即返回text.

杨魅力

Rng.Range("A1")并不是表的第一个单元格。Rng 是你的selection, Rng.Range("A1") 是你所选区域的第一个单元格你的程序存在两个情况:1> 当只选择一个单元格时2> 当选择多个单元格时,如果所选区域有的单元格有值,有的没有值,那么就有问题,而Rng.Range("A1"),将selection定位于所选区域的第一个单元格进行判断
打开App,查看更多内容
随时随地看视频慕课网APP