ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   protect - macro? (https://www.excelbanter.com/excel-programming/279996-protect-macro.html)

Stu[_31_]

protect - macro?
 
Hey guys,
I have this macro and I want my worksheet to be protected but it says I am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu



Stu[_31_]

protect - macro?
 
I forgot one thing, the code...
so here it is:

Private Sub Worksheet_Activate()
Call Main
End Sub

Sub Main()
Dim hideRows As Range
Application.ScreenUpdating = False
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Application.ScreenUpdating = True
End Sub


Thanks
--
Stu



Harald Staff

protect - macro?
 
"It" says ???

You have two options. One is protecting by code, userinterface only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message ...
Hey guys,
I have this macro and I want my worksheet to be protected but it says I am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu





Stu[_31_]

protect - macro?
 
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message

...
Hey guys,
I have this macro and I want my worksheet to be protected but it says I

am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu







Harald Staff

protect - macro?
 
You can prevent that in the VB editor menu Tools VBA proj Properties Protection. But
I'd prefer hiding or masking the password instead; unlocked code may provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords can be cracked easily.
Security is basically there to prevent fools from doing severe damage to formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message ...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message

...
Hey guys,
I have this macro and I want my worksheet to be protected but it says I

am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu









Stu[_31_]

protect - macro?
 
That is true I am too paranoid and for no reason, because like you say it is
to prevent fools from messing with things they shouldn't but I know a lot of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code may

provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords can be

cracked easily.
Security is basically there to prevent fools from doing severe damage to

formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message

...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message

...
Hey guys,
I have this macro and I want my worksheet to be protected but it

says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu











Tom Ogilvy

protect - macro?
 
Why are you talking about users. You said *You* would be using xl2002, so
limitations of xl97 were of no consequence. Now you have users - will they
all also be using xl2002? If not, you have more surprises headed your way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There is no
reason the unprotect shouldn't work if you spell it correctly and the
password is the correct password.

The other method I showed will work with userinterfaceonly, of course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you say it

is
to prevent fools from messing with things they shouldn't but I know a lot

of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code may

provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords can

be
cracked easily.
Security is basically there to prevent fools from doing severe damage to

formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message

...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected but it

says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu













Stu[_31_]

protect - macro?
 
I haven't got a clue what the users would be using, but the users should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using xl2002, so
limitations of xl97 were of no consequence. Now you have users - will

they
all also be using xl2002? If not, you have more surprises headed your

way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There is no
reason the unprotect shouldn't work if you spell it correctly and the
password is the correct password.

The other method I showed will work with userinterfaceonly, of course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you say

it
is
to prevent fools from messing with things they shouldn't but I know a

lot
of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj Properties


Protection. But
I'd prefer hiding or masking the password instead; unlocked code may

provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords can

be
cracked easily.
Security is basically there to prevent fools from doing severe damage

to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message

...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface

only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected but it

says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu















Harald Staff

protect - macro?
 
Just like in real life; unprotect the sheet, perform actions, protect the
sheet when done. You should know your own code well enough to spot the
appropriate locations ;-)

--
HTH. Best wishes Harald
Followup to newsgroup only please

"Stu" skrev i melding
...
I haven't got a clue what the users would be using, but the users should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using xl2002,

so
limitations of xl97 were of no consequence. Now you have users - will

they
all also be using xl2002? If not, you have more surprises headed your

way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There is

no
reason the unprotect shouldn't work if you spell it correctly and the
password is the correct password.

The other method I showed will work with userinterfaceonly, of course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you say

it
is
to prevent fools from messing with things they shouldn't but I know a

lot
of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj

Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code may
provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords

can
be
cracked easily.
Security is basically there to prevent fools from doing severe

damage
to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface

only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like

this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected but

it
says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu

















Stu[_31_]

protect - macro?
 
ah yes,
I have put them in the sub
whereas before I was trying to put them in a sub of their own which is why
it wouldn't work.

Thanks
--
Stu


"Harald Staff" wrote in message
...
Just like in real life; unprotect the sheet, perform actions, protect the
sheet when done. You should know your own code well enough to spot the
appropriate locations ;-)

--
HTH. Best wishes Harald
Followup to newsgroup only please

"Stu" skrev i melding
...
I haven't got a clue what the users would be using, but the users should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using

xl2002,
so
limitations of xl97 were of no consequence. Now you have users - will

they
all also be using xl2002? If not, you have more surprises headed your

way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There

is
no
reason the unprotect shouldn't work if you spell it correctly and the
password is the correct password.

The other method I showed will work with userinterfaceonly, of course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you

say
it
is
to prevent fools from messing with things they shouldn't but I know

a
lot
of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj

Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code

may
provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords

can
be
cracked easily.
Security is basically there to prevent fools from doing severe

damage
to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface

only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like

this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected

but
it
says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu



















Tom Ogilvy

protect - macro?
 
Right where you show it:

Sub Main()
Dim hideRows As Range
Application.ScreenUpdating = False
Activesheet.Unprotect Password:="Yo"
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Application.ScreenUpdating = True
Application.Protect Password:="Yo"
End Sub

Might want to find out. You should be doing your development in the oldest
version of excel where the application will be used.

--
Regards,
Tom Ogilvy


Stu wrote in message
...
I haven't got a clue what the users would be using, but the users should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using xl2002,

so
limitations of xl97 were of no consequence. Now you have users - will

they
all also be using xl2002? If not, you have more surprises headed your

way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There is

no
reason the unprotect shouldn't work if you spell it correctly and the
password is the correct password.

The other method I showed will work with userinterfaceonly, of course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you say

it
is
to prevent fools from messing with things they shouldn't but I know a

lot
of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj

Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code may
provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords

can
be
cracked easily.
Security is basically there to prevent fools from doing severe

damage
to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface

only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like

this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected but

it
says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu

















Stu[_31_]

protect - macro?
 
The problem with that is that I don't have the oldest version of XL that it
will be used on. and the code I decided on is the following way round
(exactly the same as yours just moved around a little):

Sub MainHide()
Application.ScreenUpdating = False
Main.UnProtect Password:="Yo"
Dim hideRows As Range
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Main.Protect Password:="Yo"
Application.ScreenUpdating = True
End Sub

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Right where you show it:

Sub Main()
Dim hideRows As Range
Application.ScreenUpdating = False
Activesheet.Unprotect Password:="Yo"
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Application.ScreenUpdating = True
Application.Protect Password:="Yo"
End Sub

Might want to find out. You should be doing your development in the

oldest
version of excel where the application will be used.

--
Regards,
Tom Ogilvy


Stu wrote in message
...
I haven't got a clue what the users would be using, but the users should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using

xl2002,
so
limitations of xl97 were of no consequence. Now you have users - will

they
all also be using xl2002? If not, you have more surprises headed your

way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There

is
no
reason the unprotect shouldn't work if you spell it correctly and the
password is the correct password.

The other method I showed will work with userinterfaceonly, of course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you

say
it
is
to prevent fools from messing with things they shouldn't but I know

a
lot
of
fools who will probably venture into the code and mess that up too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj

Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code

may
provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet passwords

can
be
cracked easily.
Security is basically there to prevent fools from doing severe

damage
to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code, userinterface

only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect like

this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected

but
it
says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu



















Tom Ogilvy

protect - macro?
 
With reference to where you put the statement, what is the significance of
this:

The problem with that is that I don't have the oldest version of XL that it
will be used on.


You can be cute now, but when your app fails, you might want some help.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
The problem with that is that I don't have the oldest version of XL that

it
will be used on. and the code I decided on is the following way round
(exactly the same as yours just moved around a little):

Sub MainHide()
Application.ScreenUpdating = False
Main.UnProtect Password:="Yo"
Dim hideRows As Range
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Main.Protect Password:="Yo"
Application.ScreenUpdating = True
End Sub

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Right where you show it:

Sub Main()
Dim hideRows As Range
Application.ScreenUpdating = False
Activesheet.Unprotect Password:="Yo"
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Application.ScreenUpdating = True
Application.Protect Password:="Yo"
End Sub

Might want to find out. You should be doing your development in the

oldest
version of excel where the application will be used.

--
Regards,
Tom Ogilvy


Stu wrote in message
...
I haven't got a clue what the users would be using, but the users

should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using

xl2002,
so
limitations of xl97 were of no consequence. Now you have users -

will
they
all also be using xl2002? If not, you have more surprises headed

your
way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter. There

is
no
reason the unprotect shouldn't work if you spell it correctly and

the
password is the correct password.

The other method I showed will work with userinterfaceonly, of

course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like you

say
it
is
to prevent fools from messing with things they shouldn't but I

know
a
lot
of
fools who will probably venture into the code and mess that up

too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj

Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked code

may
provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet

passwords
can
be
cracked easily.
Security is basically there to prevent fools from doing severe

damage
to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
What if the user looks in the code? the password is viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code,

userinterface
only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect

like
this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be protected

but
it
says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu





















Stu[_31_]

protect - macro?
 
I am in the process of emailing everyone that will use this spreadsheet so I
will soon know if it will fail or not.

Thanks
--
Stu
"Tom Ogilvy" wrote in message
...
With reference to where you put the statement, what is the significance of
this:

The problem with that is that I don't have the oldest version of XL that

it
will be used on.


You can be cute now, but when your app fails, you might want some help.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
The problem with that is that I don't have the oldest version of XL that

it
will be used on. and the code I decided on is the following way round
(exactly the same as yours just moved around a little):

Sub MainHide()
Application.ScreenUpdating = False
Main.UnProtect Password:="Yo"
Dim hideRows As Range
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Main.Protect Password:="Yo"
Application.ScreenUpdating = True
End Sub

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Right where you show it:

Sub Main()
Dim hideRows As Range
Application.ScreenUpdating = False
Activesheet.Unprotect Password:="Yo"
With Range("G3:G2401")
.EntireRow.Hidden = False
.AutoFilter Field:=1, Criteria1:="="
On Error Resume Next
Set hideRows = .Offset(1, 0).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
End With
Selection.AutoFilter
If Not hideRows Is Nothing Then hideRows.EntireRow.Hidden = True
Range("G202,G402,G602,G802,G1002,G1202,G1402," & _
"G1602,G1802,G2002,G2202,G2402").EntireRow.Hid den = False
Application.ScreenUpdating = True
Application.Protect Password:="Yo"
End Sub

Might want to find out. You should be doing your development in the

oldest
version of excel where the application will be used.

--
Regards,
Tom Ogilvy


Stu wrote in message
...
I haven't got a clue what the users would be using, but the users

should
have pretty up-to-date software and OS.

And, where do I put the

Sheets(1).Unprotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

Thanks
--
Stu


"Tom Ogilvy" wrote in message
...
Why are you talking about users. You said *You* would be using

xl2002,
so
limitations of xl97 were of no consequence. Now you have users -

will
they
all also be using xl2002? If not, you have more surprises headed

your
way.

Using userinterfaceonly will not work with your autofilter code.
Userinterfaceonly only works with an already existing filter.

There
is
no
reason the unprotect shouldn't work if you spell it correctly and

the
password is the correct password.

The other method I showed will work with userinterfaceonly, of

course.

--
Regards,
Tom Ogilvy



Stu wrote in message
...
That is true I am too paranoid and for no reason, because like

you
say
it
is
to prevent fools from messing with things they shouldn't but I

know
a
lot
of
fools who will probably venture into the code and mess that up

too.

And I cant seem to get the:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

or

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

to work.

Thanks
--
Stu
"Harald Staff" wrote in message
...
You can prevent that in the VB editor menu Tools VBA proj
Properties

Protection. But
I'd prefer hiding or masking the password instead; unlocked

code
may
provide you with good
debugging information until the code is perfect.

Anyway, you're too paranoid. Excel is not safe and sheet

passwords
can
be
cracked easily.
Security is basically there to prevent fools from doing severe
damage
to
formulas, not to
protect our digital rights.

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
What if the user looks in the code? the password is

viewable.


--
Stu


"Harald Staff" wrote in message
...
"It" says ???

You have two options. One is protecting by code,

userinterface
only:

Sheets(1).Protect Password:="Yo", _
UserInterfaceOnly:=True

Now macros can do more things than the user is allowed.

Or you can simply have your macro unprotect-work-protect

like
this

Sheets(1).Unrotect Password:="Yo"
'autofilter, hide, stuff
Sheets(1).Protect Password:="Yo"

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"Stu" wrote in message
...
Hey guys,
I have this macro and I want my worksheet to be

protected
but
it
says I
am
not able to protect the sheet because of the macro.
Is there any way around it?

Thanks
--
Stu
























All times are GMT +1. The time now is 10:01 PM.

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