Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 29
Default delete rows in excel by service date

I have an excel sheet that contains about 300 rows of data. One
column, P, has the hire date. What I'm looking to do via vba is to
delete all rows where the hire date is not 3 months prior next month.
In other words, next month is June, so I want only those rows where
the hire date is the month of March (3 months prior to June)...I
normally use the filter commands which works OK, but I thought since
this is a monthly report I can speed things up and run it via VBA.

Any suggestions?

  #2   Report Post  
Posted to microsoft.public.excel.programming
ra ra is offline
external usenet poster
 
Posts: 27
Default delete rows in excel by service date

Try this, it will allow you to select date range to delete.. (update
column # as appropriate -this assumes column 13)

Sub DeleteDatesRIM()
Dim StDate As Date, FinDate As Date, LastRow&, i&
StDate = InputBox("Dates to be Deleted- ENTER Start Date (DD/MM/
YYYY)")
FinDate = InputBox("Dates to be Deleted-ENTER End Date (DD/MM/
YYYY)")
LastRow = Cells(Rows.Count, 13).End(xlUp).Row
For i = LastRow To 2 Step -1
If Cells(i, 13).Value = StDate And _
Cells(i, 13).Value <= FinDate Then
Rows(i).Delete
End If
Next i
End Sub

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default delete rows in excel by service date

Turn on the macro recorder while you apply the filter.

Turn off the macro recorder and use the recorded code as model code to build
your macro.

--
Regards,
Tom Ogilvy


" wrote:

I have an excel sheet that contains about 300 rows of data. One
column, P, has the hire date. What I'm looking to do via vba is to
delete all rows where the hire date is not 3 months prior next month.
In other words, next month is June, so I want only those rows where
the hire date is the month of March (3 months prior to June)...I
normally use the filter commands which works OK, but I thought since
this is a monthly report I can speed things up and run it via VBA.

Any suggestions?


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 923
Default delete rows in excel by service date

One approach would be to scan the rows from last to first, checking if
column P has a valid date (will not remove titles etc.)
The code determines the last row from the data in column P. Adjustments are
made for dates that span a year rollover

Sub RemoveRows()
Dim xr As Long, xlr As Long, mth As Integer
Application.ScreenUpdating = False
with Sheets("Sheet1")
xlr = .Cells(.Rows.Count, "P").End(xlUp).Row
mth = Month(Date)
If mth < 3 Then mth = mth + 12
For xr = xlr To 1 Step -1
If IsDate(.Cells(xr, "P")) Then
If mth < Month(.Cells(xr, "P")) + 2 Then
.Rows(xr).EntireRow.Delete shift:=xlUp
End If
End If
Next
End With
Application.ScreenUpdating = True
End Sub

--
Cheers
Nigel



wrote in message
oups.com...
I have an excel sheet that contains about 300 rows of data. One
column, P, has the hire date. What I'm looking to do via vba is to
delete all rows where the hire date is not 3 months prior next month.
In other words, next month is June, so I want only those rows where
the hire date is the month of March (3 months prior to June)...I
normally use the filter commands which works OK, but I thought since
this is a monthly report I can speed things up and run it via VBA.

Any suggestions?



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 29
Default delete rows in excel by service date

On May 29, 11:43 am, "Nigel" wrote:
One approach would be to scan the rows from last to first, checking if
column P has a valid date (will not remove titles etc.)
The code determines the last row from the data in column P. Adjustments are
made for dates that span a year rollover

Sub RemoveRows()
Dim xr As Long, xlr As Long, mth As Integer
Application.ScreenUpdating = False
with Sheets("Sheet1")
xlr = .Cells(.Rows.Count, "P").End(xlUp).Row
mth = Month(Date)
If mth < 3 Then mth = mth + 12
For xr = xlr To 1 Step -1
If IsDate(.Cells(xr, "P")) Then
If mth < Month(.Cells(xr, "P")) + 2 Then
.Rows(xr).EntireRow.Delete shift:=xlUp
End If
End If
Next
End With
Application.ScreenUpdating = True
End Sub

--
Cheers
Nigel

wrote in message

oups.com...



I have an excel sheet that contains about 300 rows of data. One
column, P, has the hire date. What I'm looking to do via vba is to
delete all rows where the hire date is not 3 months prior next month.
In other words, next month is June, so I want only those rows where
the hire date is the month of March (3 months prior to June)...I
normally use the filter commands which works OK, but I thought since
this is a monthly report I can speed things up and run it via VBA.


Any suggestions?- Hide quoted text -


- Show quoted text -


Thanks to all that responded! I've was able to incorp the first
suggestion, I made a couple of modifications. Bascially I used stdate
is <= mm/dd/yy OR findate = mm/dd/yy. This leaves the target month
in the sheet, deleting all those greater or less than....Thanks
again...



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro to delete rows based on date PMBO Excel Discussion (Misc queries) 4 February 18th 09 01:50 PM
Delete rows with date more than 48 hours with a condition.. Kashyap Excel Worksheet Functions 4 February 5th 09 03:51 AM
service date Pammy Excel Discussion (Misc queries) 1 April 30th 08 04:49 PM
How do you format an auto update to delete rows with expired date Rneedshelp Excel Worksheet Functions 0 May 29th 07 04:30 PM
Excel VBA - Delete rows within a date range rott Excel Programming 8 February 24th 04 07:38 PM


All times are GMT +1. The time now is 10:14 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"