View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
OssieMac OssieMac is offline
external usenet poster
 
Posts: 2,510
Default Macro to delete rows

Hi Ken,

I have assumed that you have a column with dates. If so, then try the
following code. Note the comments where you may need to edit the the Sheet
name and then column identifier for the column with the dates.

If no column with dates then let me know and I will have another look at it.

Sub DeleteExceptFriday()

Dim lastRow As Long
Dim i As Long

'Edit "Sheet1" to your sheet name
With Sheets("Sheet1")
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

'Must work backwards when deleting rows
'in a loop as follows.
'(to 2 assumes column header exists in row 1)
For i = lastRow To 2 Step -1

'Edit "A" to the column with your dates
If Weekday(.Cells(i, "A"), 1) < 6 Then
.Rows(i).Delete
End If
Next i
End With
End Sub

--
Regards,

OssieMac


"Ken G" wrote:

I have a list of daily data that is one day per row, I need a macro to trim
it back from daily data to weekly data retaining only Friday's data for each
week, so I need to delete 4 rows, skip a row and delete the next 4 rows etc.
The list is currently about 400 rows. (Excel 2003)