私はVBAが初めてです。実験から一部のデータをクリーンアップするスクリプトを作成しようとしています。「オブジェクトが必要です」というエラーが表示され続け、pold が強調表示されます。誰かが理由を知っていますか?
スクリプトに関しては、参加者番号の列を調べて、各参加者がどの範囲にいるかをマップしようとしています。参加者ごとに約 30 行あり、それを配列の値として定義したいと考えています。
Sub Cleanthismofoup()
Dim pranges(1 To 50) As Long
Dim pbegin As Range
Dim pend As Range
Dim pold As Integer
Dim pnew As Integer
Dim pcell As Range
Dim pcounter As Long
Dim i As Long
Set pcell = Range("A1:A1")
Set pbegin = Range("A2:A2")
Set pold = Range("B2:B2").Value
pcounter = 0
'for every item, store value in pnew
' move down one line. Check pnew = pold
' if it is, do again. else create new range
For i = 1 To rngl
pcell = pcell.Offset(-1, 0)
pnew = pcell.Cells.Value
If pnnew <> pold Then pcell = pend
If pcell = pend Then
counter = counter + 1
pranges(counter) = pbegin
counter = counter + 1
pranges(counter) = pend
pbegin = pcell.Offset(-1, 0)
Else: pold = pnew
End If
i = i + 1
Next
サブ終了