Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 无法打印到最后一行的单元格值_Excel_Vba - Fatal编程技术网

Excel 无法打印到最后一行的单元格值

Excel 无法打印到最后一行的单元格值,excel,vba,Excel,Vba,我正在尝试打印A列的内容。其中有10行,因此当我尝试以下操作时,我会得到相应的结果: Sub PrintUptoLastRow() Dim oCel As Range For Each oCel In Range("A1", "A10") Debug.Print oCel Next oCel End Sub 我可以在不硬编码最后一行的情况下获得相同的结果: Sub PrintUptoLastRow() Dim oCel As Range

我正在尝试打印A列的内容。其中有10行,因此当我尝试以下操作时,我会得到相应的结果:

Sub PrintUptoLastRow()
    Dim oCel As Range

    For Each oCel In Range("A1", "A10")
        Debug.Print oCel
    Next oCel
End Sub
我可以在不硬编码最后一行的情况下获得相同的结果:

Sub PrintUptoLastRow()
    Dim oCel As Range

    For Each oCel In Range("A1", Range("A" & Rows.Count).End(xlUp))
        Debug.Print oCel
    Next oCel
End Sub
Sub PrintUptoLastRow()
    Dim oCel As Range

    For Each oCel In Range("A1" & ":" & Range("A" & Rows.Count).End(xlUp))
       Debug.Print oCel
    Next oCel
End Sub
只要最后一行是
A10
,以上两种方法是相同的

但是,我也可以使用以下方法获得结果:

Sub PrintUptoLastRow()
    Dim oCel As Range

    For Each oCel In Range("A1:A5")
        Debug.Print oCel
    Next oCel
End Sub
但当我尝试使用最后一行模拟上面的内容时,出现了问题:

Sub PrintUptoLastRow()
    Dim oCel As Range

    For Each oCel In Range("A1", Range("A" & Rows.Count).End(xlUp))
        Debug.Print oCel
    Next oCel
End Sub
Sub PrintUptoLastRow()
    Dim oCel As Range

    For Each oCel In Range("A1" & ":" & Range("A" & Rows.Count).End(xlUp))
       Debug.Print oCel
    Next oCel
End Sub
它抛出以下错误:

Run-time error `1004`
Method `Range` of object`_Global` failed

如何使最后一段代码按我尝试的方式工作?

您忘记了
A

For Each oCel In Range("A1" & ":A" & Range("A" & Rows.Count).End(xlUp).Row)
或者使用
地址
属性

For Each oCel In Range("A1" & ":" & Range("A" & Rows.Count).End(xlUp).Address)

但是请注意,您总是参考活动表。

是的,地址属性是我错过的。谢谢