Excel planilha vba usf botao oculta plan autofiltro

Sáb, 05 de Março de 2011 11:29 Expedito Marcondes
Imprimir

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)

 

Tags:
Última atualização em Sex, 26 de Agosto de 2011 09:02