Before proceeding. If you somehow want to make totals of the data a pivot table will do the job fast and accurately.
Here is some code to do what you asked (I think). Again, using Select is not a good way of doing things,
Code:
Sub test()
Dim ws As Worksheet
Dim FromRow As Long
Dim StartRow As Long
Dim EndRow As Long
Dim MyVal As String
Dim MyRange As Range
'------------------------------------------
Set ws = ActiveSheet
FromRow = 1
'------------------------------------------
'- loop all data
While ws.Cells(FromRow, 1).Value <> ""
MyVal = ws.Cells(FromRow, 1).Value
StartRow = FromRow
'---------------------------------------
'- loop column 1 value
While ws.Cells(FromRow, 1).Value = MyVal
FromRow = FromRow + 1
Wend
'---------------------------------------
'- get column D cells
EndRow = FromRow - 1
With ws
Set MyRange = _
.Range(.Cells(StartRow, 4), .Cells(EndRow, 4))
End With
MyRange.Select
'------------------------------------------
'wait 1 second ( put what you want to do with the data)
Application.Wait Now + TimeValue("00:00:01")
Wend
End Sub
-----------------------
Regards BrianB
Most problems occur from starting at the wrong place.
Use a cup of coffee to make Windows run faster.
It is easy until you know how.