Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por werlewow
Posts
#34103
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
Por osvaldomp
#34107
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.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord