Sub CopyData()
Dim j As Long, rw As Long
Dim oldDate As Long
Dim cell As Range
j = 6
rw = 1
oldDate = 0
For Each cell In Range("A1", Cells(Rows.Count, 1).End(xlUp))
If Year(cell) < oldDate Then
oldDate = Year(cell)
j = j + 2
rw = 1
End If
cell.Resize(1, 2).Copy _
Destination:=Cells(rw, j)
rw = rw + 1
Next
End Sub
--
Regards,
Tom Ogilvy
SolarBlue wrote in message
...
Hi
I have 2 columns of data that I have imported from a txt file. Column A
is a date (dd-mmm-yy) and Column B is a time (hh:mm:ss)
i.e
A1= 26 Jan 04, B1= 19:45:33
A2= 25 Feb 04, B2= 04:13:12
A3=15 Mar 04, B3= 11:15:30
-- ---- --- -- -- --- --- ---
A12= 12 Dec 04, B12= 11:12:13
A13= 13 Jan 05, B13= 08:23:13
A14= 25 Feb 05, B14= 04:13:12
A15=15 Mar 05, B15= 11:15:30
And so on for 6 years worth.
Problem: Each year can have either 12 or 13 enteries, so I could end up
importing a minimum of 72 enteries, or maximum of 78.
I need a statement that can identify the 'year' of the cell in Column A
and copy A1 and B1 into a new section of the worksheet, then drop down
to A2. If A2 is from the same year as A1, then copy A2 and B2 right
under where I put the previous entry. Keep doing this (for either 12 or
13 times), then when the cell has a year +1 (ie the next year), start
copying into a different section.
Stop when I get to a cell with nothing in it.
What I end up with is 6 new groupings, one for each year.
From here I can manipulate etc as required.
Any help would be greatly appreciated, as while I have a basic
understanding of simple macros, these 'conditional' loops and staements
are just beyond my current level of knowledge.
---
Message posted from http://www.ExcelForum.com/