Automatically alphabetize excel worksheet

G

Guest

Where do I enter a string in the "worksheet code" to automatically
alphabetize my worksheet by the names in the A column. I have the string, I
just don't know how to access the worksheet code???

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("A:A")) Is Nothing Then
Else
Application.EnableEvents = False
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End If
End Sub
 
J

JW

Where do I enter a string in the "worksheet code" to automatically
alphabetize my worksheet by the names in the A column. I have the string, I
just don't know how to access the worksheet code???

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("A:A")) Is Nothing Then
Else
Application.EnableEvents = False
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End If
End Sub

Right click on the sheet tab of the sheet you want to place this code
and click View Code. Then simply paste in your code.
That being said, I would probably use the code below since you don't
need an Else clause.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("A:A")) Is Nothing Then
Application.EnableEvents = False
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End If
End Sub
 
G

Guest

Thanks, JW. I tried your string but get an error when I try to put an entry
into the worksheet. Says something is "misspelled" in the argument. I
checked the "spelling" of everything but I'm not sure how to check to see if
the argument is correct (I got the original string from someone else...I'm
merely a geek; not a guru)

Thanks
 
J

JW

The code works perfect on my end. Probably something with the way the
word wrap happens here in teh newsgroup. Try this code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("A:A")) _
Is Nothing Then
Application.EnableEvents = False
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End If
End Sub
 
J

JW

ACK!!!! Just noticed that there was a Select line in your original
code. No need for that.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("A:A")) _
Is Nothing Then
Application.EnableEvents = False
Columns(1).Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End If
End Sub
 

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