Excel planilha vba usf botao autofiltro oculta plan e colunas

Sáb, 05 de Março de 2011 10:06 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 Ter, 23 de Agosto de 2011 09:47