【发布时间】:2017-09-22 05:46:43
【问题描述】:
当使用 For Each cell in Range 时,我想使用 cell.row 属性来引用当前单元格的行。但是,如果我在另一个 Sub 中使用它,我会收到错误 Run-time error:'424' Object required。
下面是一个简单的代码来说明我的意思。我做错了什么还是有办法在另一个 Sub 中引用当前单元格的行?谢谢!
Sub CommandButton2_Click()
Dim rng As Range
Set rng = Range("P290:P293")
For Each cell In rng
Third
Next cell
End Sub
Sub Third()
MsgBox cell.row
End Sub
【问题讨论】:
-
你没有在任何一个过程中声明
cell,所以除了隐式Variant类型之外,它们的范围也只在过程级别,这意味着即使两个过程共享cell这个名字,这两个不同的cell是两个不同的东西。在Third过程的情况下,cell是一个未定义的变量,一个空/无/空字符串,它没有.row属性。适当的范围界定、传递变量,最重要的是声明您的变量将帮助您避免这些错误。 -
谢谢!抱歉,这是我第一次写宏>.