Página 1 de 1

Habilitar Auto filtro com VBA

Enviado: 20 Jun 2018 às 09:37
por werlewow
Bom dia a todos. Tenho uma planilha com um botão que ao pressionado desbloqueia a planilha e ordena a coluna E de forma crescente e bloqueia novamente. O que preciso é que ao bloquear novamente deixe a opção de usar o AUTOFILTRO habilitada, porem na coluna J. Se eu bloqueio a planilha manualmente, eu consigo habilitar o filtro na opções de restrição, porem ao clicar no botão parra classificar ela protege a planilha sem deixar essa opção habilitada. Vou colar o código que estou usando nesse botão que classifica a COLUNA E. Lembrando que eu quero usar o filtro na coluna J. (ou liberar o filtro para todas as colunas, seria ainda melhor... Obrigado.

Sub Retângulo3_Clique()

'
' Macro5 Macro
'

'
'Coloca a chamada no inicio da sua rotina para que desproteja a sua Planilha
Call UnProtectSheet


ActiveWorkbook.Worksheets("Plan4").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Plan4").AutoFilter.Sort.SortFields.Add _
Key:=Range("E2:E1800"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Plan4").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True

'Coloca a chamada no fim da sua rotina para que proteja novamente a sua Planilha
Call ProtectSheet
End Sub



Sub ProtectSheet()
Dim Password 'Esta linha de código é opcional
Password = "123mudar" 'Informe a senha da sua Planilha
ActiveSheet.Protect Password, True, True, True

End Sub


Sub UnProtectSheet()
Password = "123mudar" 'Informe a senha da sua Planilha

ActiveSheet.Unprotect Password

End Sub

Re: Habilitar Auto filtro com VBA

Enviado: 20 Jun 2018 às 10:37
por osvaldomp
Acrescente a parte em vermelho ao seu código conforme abaixo.
ActiveSheet.Protect Password, True, True, True , AllowFiltering:=True

obs. da ajuda do VBA ~~~> A propriedade AllowFiltering permite ao usuário alterar os critérios de filtro em um AutoFiltro existente. O usuário não pode criar ou remover um AutoFiltro em uma planilha protegida. ~~~> isto implica em que o Auto Filtro deve ser aplicado antes de proteger a planilha. Você pode aplicar o Auto Filtro manualmente ou incluir a aplicação dele no código que protege a planilha.
Lembrando também que as células envolvidas no Auto Filtro devem estar desbloqueadas.

Habilitar Auto filtro com VBA

Enviado: 20 Jun 2018 às 10:57
por werlewow
Show! bem o que queria, obrigado !