這是我的代碼。它貫穿始於Cell L1
的值列表,在另一個工作表中找到它們,然後找到偏移單元格。如果該單元格包含"TEMPLATE"
它將從原始列表中刪除該值。運行時錯誤'1004',設置變量時應用程序定義的或對象定義的錯誤= cell.offset
Sub Removetemplate()
Dim x As Variant
Dim myString As String
Dim temprng As Range
Dim cell As Object
' Set numrows = number of rows of data.
Worksheets("WorkingSO").Activate
NumRows = Range("L2", Range("L2").End(xlDown)).Rows.Count
' Select cell L2.
Set SORNG = Range("L2")
SORNG.Select
' Establish "For" loop to loop "numrows" number of times.
Worksheets("Sales Orders").Activate
For x = 1 To NumRows
For Each cell In Sheet1.Cells
If cell.Value = SORNG.Value Then
Set temprng = cell.Offset(28, -17)
myString = temprng.Value
If InStr(myString, "TEMPLATE") > 0 Then
SORNG.ClearContents
End If
End If
Next
' Selects cell down 1 row from active cell.
Set SORNG = SORNG.Offset(1, 0)
Next
End Sub
1004 error
發生在行Set temprng = cell.Offset(28, -17)
。林不是100%肯定,但我相信它是第一次通過,但第二次循環失敗。
中查找「WorkingSO」列「L」值,沒有小於17的行的實例,其中單元格.value = SORNG.value –
@ConnorHoward在'Set tmprng'行放置一個斷點,點擊斷點並鍵入'?cell.Address'。你遇到了一個錯誤,那裏*是行號問題。 –
沒有。並且偏移量中的第二個值將調整列而不是行。但最近的專欄是Z(26) –