Notifications
Clear all

Macro para ocultar elementos das planilhas

6 Posts
3 Usuários
0 Reactions
1,553 Visualizações
(@carloshvb)
Posts: 99
Trusted 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
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 19/10/2015 10:48 am
(@carloshvb)
Posts: 99
Trusted 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: 2749
Famed 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.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 19/10/2015 11:59 am
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 19/10/2015 1:35 pm
(@carloshvb)
Posts: 99
Trusted 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