Notifications
Clear all

Macro para ocultar elementos das planilhas

6 Posts
3 Usuários
0 Reactions
1,541 Visualizações
(@carloshvb)
Posts: 0
New Member
Topic starter
 

Bom dia pessoa,

Eu tenho uma arquivo com mais de 60 planilhas que são utilizadas pelos colaboradores apenas para inserir dados de controle do processo.

Então eu gostaria de maximizar o espaço de visualização e para isso eu gostaria de saber se existe uma macro que ao entrar em uma aba já verifique se os elementos estão visíveis ou não e os oculte automáticamente.

Os elementos que quero ocultar são:
- Barra de Fórmulas
- Linhas de Grade
- Títulos

Também gostaria que a barra de formulas voltasse a ficar visível antes de fechar o arquivo.

Desde já agradeço a atenção.

 
Postado : 19/10/2015 6:06 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente algo como:

Option Explicit
'Esse código deve ser inserido dentro do módulo de guia, na qual sofrerá efeito
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    With Application
        .CommandBars(1).Enabled = Not Sh.Name = "Plan1"            'Nome da guia no lugar de Plan1
        .CommandBars("Formatting").Enabled = Not Sh.Name = "Plan1" 'Nome da guia no lugar de Plan1
        .CommandBars("Standard").Enabled = Not Sh.Name = "Plan1"   'Nome da guia no lugar de Plan1
        .DisplayFormulaBar = Not Sh.Name = "Plan1"                 'Nome da guia no lugar de Plan1
    End With
    ActiveWindow.DisplayHeadings = Not Sh.Name = "Plan1"           'Nome da guia no lugar de Plan1
End Sub

Favor adaptar!

Arr

 
Postado : 19/10/2015 10:48 am
(@carloshvb)
Posts: 0
New Member
Topic starter
 

Boa tarde Alexandre,

Obrigado pela resposta, mas eu gostaria de saber se existe um meio de aplicar o código para todas as planilhas de uma vez.

É possível fazer isso?

Att, Carlos

 
Postado : 19/10/2015 11:21 am
(@mprudencio)
Posts: 0
New Member
 

Não entendi Carlos, pq qdo vc oculta os objetos, que vc citou de um arquivo isso vale para todas as abas do mesmo.

 
Postado : 19/10/2015 11:59 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente algo assim...ou similar

Private Sub Workbook_Activate()

    Application.ScreenUpdating = False
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
    Application.DisplayFormulaBar = False
    Application.DisplayStatusBar = Not Application.DisplayStatusBar
    ActiveWindow.DisplayWorkbookTabs = False
    Application.ScreenUpdating = True

End Sub
Private Sub Workbook_Deactivate()

    Application.ScreenUpdating = False
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
    Application.DisplayFormulaBar = True
    Application.DisplayStatusBar = True
    Application.ScreenUpdating = True

 End Sub

Veja:
http://www.rondebruin.nl/win/s2/win012.htm

Att

 
Postado : 19/10/2015 1:35 pm
(@carloshvb)
Posts: 0
New Member
Topic starter
 

Alexandre,

Obrigado pela resposta, ajudou bastante, mas como utilizo macros para ocultar as planilhas e exibir somente uma de cada vez eu tive que adaptar o código para que ele fosse executado sempre que chamo uma nova planilha.

Também tive que adicionar mais duas linhas para remover os títulos e as linhas de grade, e tirei a linha que oculta o Ribbon pois eu personalizei ele e minhas macros estão todas no Ribbon.

Desta forma o código final ficou assim:

Sub Esconde()
    Application.ScreenUpdating = False
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayGridlines = False
    ActiveWindow.DisplayHeadings = False
    Application.DisplayStatusBar = False
    ActiveWindow.DisplayWorkbookTabs = False
    Application.ScreenUpdating = True
End Sub

Aí eu chamo essa rotina nas macros que exibem as planilhas.

 
Postado : 21/10/2015 6:18 am