Why does this not work?

  • Thread starter Thread starter Pete
  • Start date Start date
P

Pete

First the following macro works when run from with in the "Data Base"
sheet.

But when I paste this code in Private Sub Worksheet_Activate() for the
Data Base sheet I get an error 1004 on the range("b2:d325).select

Why?

Sub Macro1()

ScreenUpdating = False

Sheets("Data Base").Select

Range("B2:D325").Select

Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("B2")
_
, Order2:=xlAscending, Key3:=Range("D2"), Order3:
=xlAscending, Header:= _

xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B2").Select

Sheets("First Name").Select

ScreenUpdating = True

End Sub
 
Hi Pete

are you sure that the line of code
range("b2:d325).select
actually IS
range("b2:d325").select

as your code, as posted, in the example runs fine for me.

and you do realise that using this code means that no one can ever see the
Database sheet, don't you.

Cheers
JulieD
 
Hard to tell, but if you are using the Activate event, you shouldn't be
activating sheet within that event.

Sub Macro1()
ScreenUpdating = False
With Sheets("Data Base")
Range("B2:D325").Sort Key1:=.Range("C2"), _
Order1:=xlAscending, Key2:=.Range("B2"), _
Order2:=xlAscending, Key3:=.Range("D2"), _
Order3:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End With
ScreenUpdating = True
End Sub
 
Back
Top