View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
JW[_2_] JW[_2_] is offline
external usenet poster
 
Posts: 638
Default Automatically alphabetize excel worksheet

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
TanaMary wrote:
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

"JW" wrote:

On Sep 24, 5:20 pm, TanaMary
wrote:
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