About Me
Seguidores
Estatisticas
194: VBA - Curiosidades (I)
Normalmente, nas nossas Macros, quando pretendemos seleccionar uma Sheet, ou, por exemplo, limitar a uma área de scroll, utilizamos o seguinte Código:
Sheets("INICIO").Select
Sheets("INICIO").ScrollArea = "A1:Q31"
O que pode acontecer é que um utilizador, pelo facto de não ser possível proteger o tabulador que dá o nome à Sheet [que, no nosso exemplo, tem o nome "INICIO"], resolve alterar o nome do tabulador, para "FIM".
Resultado: uma mensagem de erro, porque o que o código diz, é que a folha se denomina "INICIO" e, na realidade, o que lá se encontra é o nome "FIM".
Uma maneira de obviar o problema, é resolvê-lo pela via mais simples, ou seja, "obrigar" que a folha seja seleccionada e faça o scroll limitado, independentemente do nome que o tabulador tenha. Assim, se a folha com o nome "INICIO" ou com o nome "FIM" for efectivamente a 1ª folha, então podemos utilizar, em vez de indicar o nome da folha como está acima, o seguinte [o mesmo será para as outras folhas, mudando apenas o algarismo]:
Sheet1.Select
Sheet1.ScrollArea = "A1:Q31"
Outra maneira, é "obrigar" que a folha, ao ser aberta, venha a adquirir o nome que nós pretendemos inicialmente, ou seja, que fique com o nome "INICIO":
Dim tabName
Sheet1.Select
tabName = "INICIO"
ActiveSheet.Name = tabName
Sheets("INICIO").ScrollArea = "A1:Q31"
Por último, porque não esconder, pura e simplesmente, o(s) tabulador(es)? Assim, de certeza que já não haverá "tendências" para fazer alterações inconvenientes ;-)
O Código para pôr a barra dos tabuladores na situação de "hidden":
Private Sub Workbook_Open()
'Tira a barra de tabuladores com os nomes das folhas...
ActiveWindow.DisplayWorkbookTabs = False
End Sub