如何在Excel VBA中声明单元对象变量

zsohkypk  于 2023-02-20  发布在  其他
关注(0)|答案(1)|浏览(197)

我正在Excel中循环一个范围,如下所示,需要获得单元格的位置以及对象的智能感知,尝试将CL作为单元格,但它不起作用

Sub Excel_Collection1()
    Dim rng As Range
    'Dim CL As Cell
    For Each CL In rng
        If CL.Value <> "" Then
            MsgBox (CL.Value)
        End If
        
    Next CL

因此,对于范围中的每个像元,我需要获取其位置C1、C2,以便创建从其位置开始的动态范围,例如A1:A20
谢谢你的帮忙

jjjwad0x

jjjwad0x1#

正如评论中所写:没有Cell对象类型。单元格只是一个范围,其中只包含一个单元格,或者换句话说,Range可以包含一个或多个单元格。
如果您不确定需要什么类型,请声明一个Variant类型的变量,将您需要的内容赋给该变量,然后使用调试器工具检查该变量包含的内容,例如,在'Debug.Print语句处设置断点:

Sub testSub()
    Dim cell As Variant
    For Each cell In ActiveSheet.Range("A1:A5")
        Debug.Print "..."
    Next
End Sub

现在打开局部变量窗口(视图-〉局部变量窗口),你可以看到数据类型:

相关问题