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
JW wrote:
> 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 <TanaM...@discussions.microsoft.com>
> > > 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
> > >
> > >
|