Auto-sort worksheet by date in column A

A

avshook

I would like to have my worksheet sort itself chronologically by date when I
enter a new date in column A. The dates will be entered in a random order on
the next available row and I would like the rows to automatically re-order
themselves when a new date is entered to be in chronological order, oldest to
newest, by the date in column A.
The concept is simple, is there a simple solution?
 
G

Gary''s Student

Put the following event macro in the worksheet code area:

Private Sub Worksheet_Change(ByVal Target As Range)
Set t = Target
Set a = Range("A:A")
If Intersect(t, a) Is Nothing Then Exit Sub
Application.EnableEvents = False
Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo
Application.EnableEvents = True
End Sub


Because it is worksheet code, it is very easy to install and use:

1. right-click the tab name near the bottom of the window
2. select View Code - this brings up a VBE window
3. paste the stuff in and close the VBE window

If you save the workbook, the macro will be saved with it.

To remove the macro:

1. bring up the VBE windows as above
2. clear the code out
3. close the VBE window

To learn more about macros in general, see:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

To learn more about Event Macros (worksheet code), see:

http://www.mvps.org/dmcritchie/excel/event.htm
 
A

avshook

Thanks Gary's student! that works great! except that my headers in row 1
also get moved, and freezing the top row doesn't seem to keep it there. Can
I make it start at row 2?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top