使用End属性时对象必需的错误

时间:2014-04-27 01:45:09

标签: excel vba excel-vba

我读过类似的"需要的对象"错误问题,但我无法看到这些问题是如何适用于我的问题的,所以我在问另一个问题。

这是我的代码;

Private Sub cmd_next_prime_Click()

p_strt = Range("A2")
p_end = p_strt.End(xlDown)
p_current = Range(p_strt, p_end)

For i = 1 To p_current.Cells.Count
    MsgBox p_current.Cells(i, 1).Value
Next i


End Sub

我正在尝试将p_current设置为从A2开始到填充单元格结束的范围。稍后,我将循环遍历它们并以某种方式使用这些值。但我在这条线上遇到错误;

p_end = p_strt.End(xlDown)

我是excel vba的新手,我不知道可能导致此错误的原因。

1 个答案:

答案 0 :(得分:0)

使用设置

Set p_strt = Range("A2")

修改

每当我们设置对象

时,我们都会使用设置

以下是一个例子:

Sub luxation()
    Dim r As Range
    Set r = Range("A2")
    Dim rr As Range
    Dim N As Long
    N = Cells(Rows.Count, "A").End(xlUp).Row
    Set rr = Range(r, Cells(N, "A"))
    rr.Select
End Sub