Delete 3 end row

  • Thread starter Thread starter climate
  • Start date Start date
C

climate

Hi
I want to delete three end row of any sheet. any sheet has different row
number.
Thank's for any help.

your's
 
Hi,

This will clear the last 3 rows of the active sheet. Note I the on error
line is to cope when there are less than 3 rows on the sheet

Sub del_Last_3()
Dim LastRow As Long
On Error Resume Next
LastRow = ActiveSheet.Cells.Find(What:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlRows).Row
ActiveSheet.Rows(LastRow - 2 & ":" & LastRow).ClearContents
End Sub
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
 
another way

ActiveSheet.Rows(LastRow - 2).Resize(3).ClearContents
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
 
Hello Mike
Thank you very much.
Ok
Best regards

Mike H said:
Hi,

This will clear the last 3 rows of the active sheet. Note I the on error
line is to cope when there are less than 3 rows on the sheet

Sub del_Last_3()
Dim LastRow As Long
On Error Resume Next
LastRow = ActiveSheet.Cells.Find(What:="*", _
SearchDirection:=xlPrevious, _
SearchOrder:=xlRows).Row
ActiveSheet.Rows(LastRow - 2 & ":" & LastRow).ClearContents
End Sub
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
 
Your welcome

--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
 
If you are looking for a macro to delete the last 3 rows try the below

Sub MyMacro()
Dim lngLastRow As Long

lngLastRow = ActiveSheet.Cells.Find(What:="*", _
SearchDirection:=xlPrevious, SearchOrder:=xlRows).Row
Rows(lngLastRow).Offset(-2).Resize(3).Select
End Sub
 
Oops...Missed to delete..

Sub MyMacro()
Dim lngLastRow As Long

lngLastRow = ActiveSheet.Cells.Find(What:="*", _
SearchDirection:=xlPrevious, SearchOrder:=xlRows).Row
Rows(lngLastRow).Offset(-2).Resize(3).Delete
End Sub
 
Back
Top