SaberExcel - site das macros
Esses procedimentos e macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), oculta e ou mostra determinada folha de planilha,
como também determinadas Colunas. Observe que muda o caption e a cor do commandbutton no usf(userform), conforme a o procedimento,
o procedimento verifica o caption do botão e status da planilha se está ou não oculta, para não perder o caption do commandbutton,
também a propriedade AllowFiltering:=True, veja abaixo a explicação, essa propriedade é para que o autofiltro funcione com a planilha protegida.
Veja abaixo explicação Microsoft.
Private Sub CommandButton12_Click()
Dim vPlanilha As Worksheet
For Each vPlanilha In ThisWorkbook.Worksheets
If vPlanilha.Name <> "" Then vPlanilha.Unprotect ""
Next
With Sheets("1").Range("D1:J1").EntireColumn
.Hidden = Not .Hidden
If .Hidden Then CommandButton12.Caption = "Visível " Else CommandButton12.Caption = "Invisível "
End With
If Sheets("2").Visible = True Then
Sheets("2").Visible = False
Saber3.Shapes("sb").Visible = False
Else
Sheets("2").Visible = True 'planilha referenciada pelo nome da folha de planilha
Saber3.Shapes("sb").Visible = True 'planilha referenciada pelo nome da folha de código da folha de planilha
End If
For Each vPlanilha In ThisWorkbook.Worksheets
If vPlanilha.Name <> "" Then vPlanilha.Protect "", _
DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
Next
Unload frmMENU
End Sub
Private Sub UserForm_Initialize()
'ao inicializar verifica se as células D1:J1, estão ocultas para o correto caption do botão
If Sheets("1").Range("D1:J1").EntireColumn.Hidden Then
CommandButton12.Caption = "Visível"
CommandButton12.BackColor = vbGreen
CommandButton12.ForeColor = &H80000012
Else
CommandButton12.Caption = "Invisível"
CommandButton12.BackColor = vbRed
CommandButton12.ForeColor = &HFFFFFF
End If
End Sub
PROPRIEDADE ALOWFILTERING (autofiltro)
Referência do Desenvolvedor do Excel Protection.Propriedade AllowFiltering
Retorna True se o usuário tiver permissão para usar de um AutoFiltro criado antes da planilha ser protegida.
Boolean de somente leitura Sintaxe
expressão.AllowFiltering
expressão Uma variável que representa um objeto Protection.
Comentários
A propriedade AllowFiltering pode ser definida usando os argumentos do método Protect.
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.
As células a serem filtradas devem estar desbloqueadas quando a planilha for protegida.
Exemplo:
Este exemplo permite ao usuário filtrar a linha 1 na planilha protegida e notifica o usuário.
Visual Basic for Applications
Sub Protecao_opcao()
ActiveSheet.Unprotect ' desbloqueando linha1
Rows("1:1").Locked = False '
' Permitir que a linha 1 para ser filtrado em uma planilha protegida
If ActiveSheet.Protection.AllowFiltering = False Then
ActiveSheet.Protect AllowFiltering:=True
End If
MsgBox "Linha 1 podem ser filtrados nesta planilha protegida."
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos SaberExcel
Baixe o exemplo de Planilha contendo os procedimentos acima.
Excel vba usf botao autofiltro oculta plan e colunas (57.82 KB 2011-03-05 11:04:39)