Página 1 de 1

Desativar os títulos de linha e coluna em todas as guias

Enviado: 17 Ago 2016 às 12:36
por CleuberZago
E aí pessoal, tudo bem?

Como posso fazer para desativar e reativar todos os títulos de todas as guias de uma planilha através de VBA? Tenho um código que ativa/desativa o modo de tela cheia de uma planilha com diversas guias. Ao acionar o botão, ele ativa o modo tela cheia e desativa os títulos, ao clicar novamente ela desativa o modo tela cheia e volta com os títulos, porém esse código funciona de modo ActiveWindow e ativa/desativa os títulos apenas na guia em que está o botão. Caso ative o modo tela cheia na Guia "1" e vá para a guia "2", a planilha estará na tela cheia, porém apenas onde acionei o botão está com os titulos desativados, na outra guia está ativado...

*PS.: Lembrando que esse botão está em todas as guias.

Desativar os títulos de linha e coluna em todas as guias

Enviado: 17 Ago 2016 às 12:45
por FelipeAguiar
Boa tarde Cleuber,
para deixar todas em FULLSCREEN, Basta substituir o ActiveWindow por Application, desse jeito:
Código: Selecionar todos
Application.DisplayFullScreen = True
O ActiveWindow (Janela ativa) só ira aplicar isso na planilha que estiver selecionada na hora de executar a Macro.
Já o Application irá executar a macro para toda a aplicação do excel.

Desativar os títulos de linha e coluna em todas as guias

Enviado: 17 Ago 2016 às 13:32
por CleuberZago
Opa Felipe, obrigado pelo esclarecimento...

Mas na verdade o ActiveWindow está apenas para o DisplayHeadings = True/False, se mudo para Application.DisplayHeadings = False dá o erro 438, dizendo que "O objeto não aceita esta propriedade ou método"... Acredito que não seja possível essa combinação...

Desativar os títulos de linha e coluna em todas as guias

Enviado: 17 Ago 2016 às 13:49
por CleuberZago
Fiz uma aqui nas coxas, ainda preciso configurar... kkkkk
Código: Selecionar todos
Sub hideHeadings()
  Dim wrkbk As Workbook
  Dim wrksh As Worksheet
  Dim prev As Window

  Set prev = ActiveWindow

  For Each wrkbk In Workbooks
    For Each wrksh In wrkbk.Worksheets
        wrksh.Activate
        ActiveWindow.DisplayHeadings = False
    Next wrksh
  Next wrkbk

  prev.Activate

End Sub
Sub showHeadings()
  Dim wrkbk As Workbook
  Dim wrksh As Worksheet
  Dim prev As Window

  Set prev = ActiveWindow

  For Each wrkbk In Workbooks
    For Each wrksh In wrkbk.Worksheets
        wrksh.Activate
        ActiveWindow.DisplayHeadings = True
    Next wrksh
  Next wrkbk

  prev.Activate

End Sub