Página 1 de 1

Macro para habilitar função "formatar células"

Enviado: 25 Out 2019 às 15:38
por MAURICIOVEIGA
Olá,
Tenho uma macro que desprotege a planilha, atualiza uma tabela dinâmica quando ocorre modificação em determinado campo e protege a planilha novamente.
Problema é que essa proteção é padrão, preciso que ao proteger a planilha fique liberado a formatação de células, alguns usuários da planilha pintam as células para identificação, como ta a planilha agora essa função fica bloqueada.
segue código da macro utilizada:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = True

If Not Intersect(Target, Range("L9:L4616")) Is Nothing Then

Call Worksheet_Activate

End If

End Sub

Private Sub Worksheet_Activate()

Const CsSenha As String = "PROJ2019"
Dim pt As PivotTable
ActiveSheet.Unprotect CsSenha
Worksheets("bayface").PivotTables("CTOREPETIDA").PivotCache.Refresh
ActiveSheet.Protect CsSenha, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
Application.CellDragAndDrop = True
End Sub

Obrigado!

Re: Macro para habilitar função "formatar células"

Enviado: 25 Out 2019 às 18:29
por Jimmy
Olá Mauricio,

Tente alterar essa parte da macro.
Troque
ActiveSheet.Protect CsSenha, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
Por
ActiveSheet.Protect CsSenha, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
, AllowFormattingCells:=True

Se quiser permitir também a formatação de colunas ou linhas, inclua:
, AllowFormattingColumns:=True, AllowFormattingRows:=True

Se esta mensagem colabora para a solução do problema, peço que dê um Like, clicando no botão com o "positivo", acima e a direita.

Jimmy San Juan