Notifications
Clear all

Proteção

7 Posts
2 Usuários
0 Reactions
1,654 Visualizações
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Esse código de proteção tenho que colocar em cada plan no começo do código e no fim ?

ActiveSheet.Unprotect Password:="123456"
ActiveSheet.Protect Password:="123456", UserInterfaceOnly:=True

Como tenho várias plan, pensei em colocar na EstaPasta_de_trabalho criando um variavel, assim não preciso ficar digitando várias vezes a senha


SenhaUnprotect = ActiveSheet.Unprotect Password:="123456"
SenhaProtect  = ActiveSheet.Protect Password:="123456", UserInterfaceOnly:=True
 
Postado : 07/11/2016 9:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Uma forma seria...

Em um módulo insira o código

Sub Desprotege()
Dim Sht As Worksheet

    For Each Sht In Application.Worksheets
        Sht.Unprotect ("MinhaSenha")
    Next
End Sub
Sub Protege()
Dim Sht As Worksheet

    For Each Sht In Application.Worksheets
        Sht.Protect Password:="MinhaSenha", DrawingObjects:=True, Contents:=True, Scenarios:=True
    Next

End Sub

...E caso você precisar chamala use essa forma.

Sub MacroparaTalCoisa()
    Call Desprotege
    'Seu código aqui
    Call Protege
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/11/2016 5:11 am
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Bom dia !

DrawingObjects:=True, Contents:=True, Scenarios:=True seria a mesma coisa que UserInterfaceOnly:=True ?

 
Postado : 08/11/2016 8:31 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!

Veja as diferenças.
Fonte: http://www.ozgrid.com/VBA/excel-macro-p ... -sheet.htm

O UserInterFaceOnly é um argumento opcional do Protect Method que podemos definir como True, o padrão é False. Definindo esse argumento como True o Excel permitirá que todas as macros do VBA do Excel sejam executadas na Planilha que protegida com ou sem uma senha.

Fonte: https://msdn.microsoft.com/en-us/librar ... 40611.aspx

Syntax:
expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/11/2016 12:37 pm
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Só aceita 3 números, poi se colocar 4 números, acontece erro de tempo de execução 1004

 
Postado : 08/11/2016 3:34 pm
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Qualquer senha da erro quando executo macro, pois acho que tem que ser mesmo UserInterfaceOnly:=True

 
Postado : 08/11/2016 3:41 pm
(@vonzuben)
Posts: 549
Honorable Member
Topic starter
 

Descobri, pois eu tenho que desproteger a planilha,trocar a senha e colocar depois a mesma senha no vba
Esse ponto você não explicou rs

 
Postado : 09/11/2016 9:27 pm