よく似た「オブジェクト必須」のエラーの質問を読んだことがありますが、それらが自分の問題にどのように当てはまるのかわからないので、別の質問をします。
これが私のコードです。
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)
私はvbaに勝つことは非常に新しいです、そして私は何がこのエラーを引き起こしているかもしれないかわかりません。
回答:
回答№1は0つかいます セット :
Set p_strt = Range("A2")
等
EDIT
を使用しております セット オブジェクトを設定するたびに
次に例を示します。
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