Neste artigo você aprenderá como exibir o nome da planilha ativa automaticamente no Excel passo-a-passo.
1. Introdução de Como Exibir o Nome da Planilha Ativa no Excel
Tomemos como base a imagem a seguir que apresenta 4 planilhas (vulgarmente denominadas “abas”) existentes em uma pasta de trabalho.
Não há no Excel uma função apropriada para nos retornar estes nomes. Desta forma, por exemplo, como poderemos visualizar automaticamente, estando na planilha de nome “Gráficos”, este próprio nome em uma célula, a fim de usá-lo em outros contextos? A ideia é que o nome seja retornado e atualizado automaticamente de forma dinâmica, caso a planilha seja renomeada.
A solução pode ser provida por VBA. Entretanto, este artigo objetiva apontar fórmulas distintas para este fim.
2. A base das fórmulas: função CÉL
As soluções apresentadas neste tópico usarão a função CÉL como base. Esta função devolve informações sobre a formatação, localização ou conteúdo de uma célula. Conforme imagem a seguir, podemos visualizar os seus primeiros argumentos:
Quando escrevemos em alguma célula a função CÉL com o 1º argumento “nome.arquivo”, o resultado apresentado será um texto longo que apresenta todo o caminho da pasta de trabalho vigente (desde o disco, seja C:, D: etc. até a última subpasta), seguido pelo nome da própria pasta de trabalho com a sua extensão, contendo por fim o nome da planilha, que é o nosso objetivo retornar.
Observe a imagem seguinte em que no endereço B2 inserimos a fórmula =CÉL(“nome.arquivo”):
Note que em vermelho está destacado o caminho do arquivo, em azul estão destacados o nome e extensão da pasta de trabalho (nosso arquivo) e em verde está evidenciado o nome de nossa planilha.
Partindo deste resultado, tudo que precisamos é “cortar” o texto resultante, ficando com a última parte (ênfase em verde). Para fazermos este corte, ficando apenas com a última parte, teremos várias alternativas elencadas a seguir.
A facilidade que teremos é o fato de que todo o texto após o fechamento do colchete será o nome da planilha que desejamos retornar. Desta forma, o fechamento de colchete é um delimitador crucial para a nossa separação.
As proposições a seguir usarão a posição do fechamento do colchete. Desta forma, se o texto completo possui 40 caracteres e o fechamento do colchete ocupa a posição 33, os últimos 7 caracteres formarão o nome de nossa planilha. Ou seja, em resumo: o comprimento do nome da nossa planilha será: o número total de caracteres subtraído da posição deste colchete de fechamento.
a) Cortar usando as funções LOCALIZAR e DIREITA
Podemos usar a função LOCALIZAR e, com base no texto resultante (que foi disponibilizado como resultado da fórmula =CÉL(“nome.arquivo”), encontrar a posição do colchete de fechamento. A fórmula então ficará assim: =LOCALIZAR(“]”;CÉL(“nome.arquivo”)). A fórmula da imagem seguinte resulta em 48.
Em nosso exemplo o fechamento de colchete é então o 48º caractere. Para então encontrar o número de caracteres do nome de nossa planilha basta subtrair o número total de caracteres de todo o texto pela posição encontrada.
A fórmula então que resulta no comprimento de texto de nossa planilha será: =NÚM.CARACT(CÉL(“nome.arquivo”))-LOCALIZAR(“]”;CÉL(“nome.arquivo”)).
Partindo deste comprimento de texto, falta apenas usarmos a função DIREITA para retornar, a partir do final, este número de caracteres do texto completo original (aquele provido pela fórmula CÉL(“nome.arquivo”)):
A fórmula final inserida foi: =DIREITA(CÉL(“nome.arquivo”);NÚM.CARACT(CÉL(“nome.arquivo”))-LOCALIZAR(“]”;CÉL(“nome.arquivo”))).
b) Cortar usando a função TEXTODEPOIS
Recapitulando, a fórmula CÉL(“nome.arquivo”) retorna todo o caminho, conforme imagem repetida a seguir:
Podemos usar a função TEXTODEPOIS para simplificar bastante o nosso trabalho. Basicamente faremos com que ela retorne tudo que estiver após o fechamento de colchetes. Desta forma, a função TEXTODEPOIS terá em seu 1º argumento o texto completo e, em seu 2º argumento, o delimitador (fechamento de colchete), sendo que, após este, todo o conteúdo será retornado.
A fórmula concebida ficará bem mais simples que a anterior: =TEXTODEPOIS(CÉL(“nome.arquivo”);”]”).
3. Função FÓRMULATEXTO: uma alternativa a ser considerada
A função FÓRMULATEXTO exibe a fórmula contida em um endereço, quando existente, resultando em erro caso a célula informada como seu argumento não contenha fórmula.
Aqui, a nossa alternativa é informar para a função FÓRMULATEXTO um endereço de célula que contenha uma fórmula simples, que use a referência do nome da planilha seguido de uma célula.
Para esclarecer melhor, vejamos a seguinte imagem:
A fórmula Resumo!D2, inserida em B3, apresenta propositalmente o nome da planilha (Resumo), fazendo referência ao endereço D2. Com a função FÓRMULATEXTO podemos retornar o texto desta fórmula:
A fórmula inserida em B5 foi =FÓRMULATEXTO(B3).
Agora, tudo que precisamos fazer é retornar o que está antes da exclamação. Para isso, usamos a função TEXTOANTES. A fórmula mais refinada ficará: =TEXTOANTES(FÓRMULATEXTO(B3);”!”).
Note que o nosso resultado em B5 (=Resumo) apresenta apenas um pequeno inconveniente: o sinal de igual no início. Para removê-lo podemos usar dezenas de fórmulas, mas propomos a função SUBSTITUIR, em que a fórmula final ficará: =SUBSTITUIR(TEXTOANTES(FÓRMULATEXTO(B3);”!”);”=”;””).
4. O problema de não informar o 2º argumento de CÉL
As soluções apresentadas no item 2. foram baseadas na função CÉL, usando apenas o 1º argumento entre parênteses: “nome.arquivo”. Não usar o 2º argumento, em que podemos e geralmente devemos informar uma referência de célula, pode causar erro quando usamos esta fórmula em várias planilhas no mesmo arquivo. Isso fará com que todas estas fórmulas com CÉL exibam o nome de apenas uma planilha.
Para melhor entender: vejamos a imagem seguinte, que apresenta 3 planilhas com rigorosamente a mesma fórmula:
=TEXTODEPOIS(CÉL(“nome.arquivo”);”]”)
mas poderia ser também
=DIREITA(CÉL(“nome.arquivo”);NÚM.CARACT(CÉL(“nome.arquivo”))-LOCALIZAR(“]”;CÉL(“nome.arquivo”))).
As 3 planilhas: “Dados”, “Gráficos” e “Parâmetros” possuem a mesma fórmula, mas exibem o nome de apenas uma delas: Gráficos. Para garantir a correta atualização do resultado precisamos forçar o recálculo (teclando F9 ou Shift + F9, por exemplo). Porém, isso é inconveniente e precisaria ser realizado com bastante frequência.
Como adiantado, o ajuste deve ocorrer na função CÉL, com alguma referência a ser inserida em seu 2º argumento. Assim, as nossas fórmulas poderão ser editadas, alterando CÉL(“nome.arquivo”) para CÉL(“nome.arquivo”;A1). Note que complementamos a fórmula com a referência de célula A1 no 2º argumento de CÉL, mas poderíamos usar outra referência, como M3, K10 ou X69, por exemplo.
As fórmulas propostas ficarão assim adaptadas: =TEXTODEPOIS(CÉL(“nome.arquivo”;A1);”]”) e =DIREITA(CÉL(“nome.arquivo”;A1);NÚM.CARACT(CÉL(“nome.arquivo”;A1))-LOCALIZAR(“]”;CÉL(“nome.arquivo”;A1))).
Desta forma, cada planilha exibe o seu nome adequadamente.