ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Auto-sort worksheet by date in column A (https://www.excelbanter.com/excel-discussion-misc-queries/216520-auto-sort-worksheet-date-column.html)

avshook

Auto-sort worksheet by date in column A
 
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?

Gary''s Student

Auto-sort worksheet by date in column A
 
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


--
Gary''s Student - gsnu200826


"avshook" wrote:

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?


avshook

Auto-sort worksheet by date in column A
 
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?

"Gary''s Student" wrote:

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


--
Gary''s Student - gsnu200826


"avshook" wrote:

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?


Gord Dibben

Auto-sort worksheet by date in column A
 
Change Header:=xlNo to Header:=xlYes


Gord Dibben MS Excel MVP

On Wed, 14 Jan 2009 13:09:20 -0800, avshook
wrote:

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?

"Gary''s Student" wrote:

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


--
Gary''s Student - gsnu200826


"avshook" wrote:

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?



louise987

Solution for auto sorting column of dates
 
Hi

this response is great, and been a huge help, however it will only sort a column by the "day" in chronological order. is there a way to amend the code so that it will auto sort a column based on the whole date, for example in order by the day, month and year?


All times are GMT +1. The time now is 01:38 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com