Когда я начинаю новую сецессию, я хочу удалить старые данные между определенными листами. (Между зеленым и красным). К сожалению, я получаю это сообщение об ошибке и не могу понять, что я делаю неправильно.
«Ошибка 1004. Не удалось удалить метод класса Range».
Пожалуйста помоги ! Спасибо.
'-----------------------------
Sub Test()
'-----------------------------
Dim ws As Worksheet
Dim lRow As Long, lCol As Long
Dim Rng As Range
Dim beginIdx As Integer, endIdx As Integer
'-- Get the 'Green' and 'Red' indexses in the active workbook .
beginIdx = ActiveWorkbook.Sheets("Green").Index + 1
endIdx = ActiveWorkbook.Sheets("Red").Index - 1
'-- Delete old data between 'Green' and 'Red' tabs
For J = beginIdx To endIdx
'-- Set this to the relevant worksheet
Set ws = ActiveWorkbook.Sheets(J)
With ws
'-- Get the last row and last column
lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).row
lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
'-- Set the sheet range to delete old data leaving the headings intact
Set Rng = .Range(.Cells(2, 1), .Cells(lRow, lCol))
Application.DisplayAlerts = False ' Get rid of pop-up message
With Rng
'-- Now delete the old data from the sheet
.EntireRow.Delete
End With
Application.DisplayAlerts = True ' Back to normal
End With
Next J
End Sub
lRow
иlCol
при отладке? - person Dmitry Pavliv   schedule 11.02.2014