Vba 如何显示数组中单元格的值

Vba 如何显示数组中单元格的值,vba,excel,Vba,Excel,我曾尝试使用谷歌Fu重新搜索,但未能成功: Sub LoopRange() Dim rCell As Range Dim rRng As Range Set rRng = Sheet1.Range("A1:A6") For Each rCell In rRng.Rows Debug.Print rCell.Address, rCell.Value Next rCell End Sub 它会以以下格式显示即时窗口中的地址: $A$1 $A$2 但它不返回值、数字或文本 我做错了

我曾尝试使用谷歌Fu重新搜索,但未能成功:

Sub LoopRange()

Dim rCell As Range
Dim rRng As Range

Set rRng = Sheet1.Range("A1:A6")

For Each rCell In rRng.Rows
    Debug.Print rCell.Address, rCell.Value
Next rCell

End Sub
它会以以下格式显示即时窗口中的地址: $A$1 $A$2

但它不返回值、数字或文本

我做错了什么

Set rRng = Sheet1.Range("A1:A6")
这引用了VBA对象
Sheet1
,它几乎肯定与您正在查看的图纸不同。这可能有不同的顺序或名称

试一试

Set rRng = ActiveSheet.Range("A1:A6")  'This is the current sheet
Set rRng = Sheets(1).Range("A1:A6")  'This is the sheet in index 1 in your workbook, left to right
Set rRng = Sheets("Sheet1").Range("A1:A6") 'This is the sheet named "Sheet1"

取决于您要执行的操作。

您可以向调试打印添加两个以上的值,即
rCell.Parent.Parent.Name,rCell.Parent.Name
,其中显示了rCell指向的工作簿名称和工作表名称。这将帮助您确定问题所在

 Sub LoopRange()

    Dim rCell As Range
    Dim rRng As Range

    Set rRng = Sheet1.Range("A1:A6")

    For Each rCell In rRng.Rows
        Debug.Print rCell.Parent.Parent.Name, rCell.Parent.Name, rCell.Address, rCell.Value
    Next rCell

End Sub
最好指定工作簿,因为可以打开多个工作簿

 Set rRng = ThisWorkbook.Sheets("sheet1").Range("A1:A6")

HTH

看起来不错,我运行并测试了它,没有问题。你确定那些单元格不是空白的吗?还注意到窗口中的地址和值之间有很大的距离,请确保窗口足够宽,可以同时查看这两个值?