numerosaletras

O código está certo. O Excel está bloqueando.

Por que a função de valor por extenso devolve #NOME?, some ao salvar ou nem aparece — e como deixá-la funcionando de vez.

Equipe numerosaletras · Atualizado 30 de agosto de 2026 · 10 min de leitura

Uma célula do Excel devolvendo o erro #NOME?

O que você vai aprender

  • Os três bloqueios diferentes do Excel e como saber qual é o seu.
  • Por que a faixa vermelha não traz o botão «Habilitar Conteúdo».
  • O que cada erro quer dizer: #NOME?, #VALOR!, «Sub não definida».
  • Como deixar a função disponível em todas as suas planilhas.
  • O que fazer quando a empresa bloqueia macros e não há negociação.

01 · resposta rápida

Por que a macro não funciona?

Em nove de cada dez casos não é o código: é que o arquivo foi salvo em .xlsx, ou veio da internet e carrega a Marca da Web.

Quando uma função de extenso «não funciona», o reflexo é procurar outro código. Quase nunca precisa. O Excel tem três camadas distintas de bloqueio para macros, cada uma com o seu próprio sinal na tela, e confundir uma com a outra é o que faz perder a tarde. Este guia separa as três e vai direto ao conserto de cada uma. Se você ainda não tem o código, passe antes pelo gerador de código para Excel.

Vale dizer de saída: os sintomas se parecem muito, mas as causas não têm nada a ver uma com a outra. Uma se resolve com um clique dentro do Excel, outra fora do Excel — nas propriedades do arquivo, no explorador do Windows — e a terceira não se resolve de jeito nenhum se quem administra a máquina é outra pessoa. Saber em qual você está já é metade do trabalho.

02 · o motivo

Por que o Excel desconfia.

Uma macro não é uma fórmula: é um programa inteiro, com as mesmas permissões da pessoa que abre o arquivo. Pode ler pastas, apagar arquivos e abrir conexões. Durante anos, o caminho mais rentável para distribuir programa malicioso foi exatamente esse — uma planilha anexada num e-mail, com uma macro dentro — e daí vem toda a desconfiança que você encontra hoje pela frente.

A virada veio em 2022. Até então bastava a faixa amarela e o seu botão «Habilitar Conteúdo»: chato, mas um clique. O problema é que as pessoas clicavam por hábito, sem olhar. Então a Microsoft mudou o trato para os arquivos que vêm de fora da máquina: se o arquivo chegou da internet, do e-mail ou de uma pasta de rede, as macros dele ficam bloqueadas e não é oferecido botão nenhum.

Essa mudança é a razão de tantos tutoriais de alguns anos atrás não servirem mais. Eles dizem «clique em Habilitar Conteúdo» e na sua tela não há nada para clicar. O botão não está escondido nem falta permissão: ele simplesmente não existe mais para aquele arquivo, e a solução está fora do Excel.

03 · diagnóstico

Os três bloqueios, pelo sinal.

Antes de mexer em qualquer coisa, olhe o que aparece ao abrir o arquivo. O sinal identifica o bloqueio, e o bloqueio determina o conserto. Vão do mais leve ao mais teimoso.

01

Faixa amarela com o botão «Habilitar Conteúdo»

O arquivo tem macros e o Excel está pedindo autorização. É o caso benigno.

Clique em «Habilitar Conteúdo» uma vez. O Excel guarda a decisão para aquele arquivo.

02

Faixa vermelha, sem botão nenhum para clicar

O arquivo veio da internet, do e-mail ou de uma pasta de rede e carrega a Marca da Web. Desde 2022 o Excel bloqueia as macros desses arquivos de saída, e por isso não há botão.

Feche o Excel. Botão direito no arquivo → Propriedades → aba Geral → marque «Desbloquear» no rodapé → OK. Abra de novo.

03

Nenhuma faixa, nenhum aviso, a função simplesmente não existe

A Central de Confiabilidade está com todas as macros desativadas sem notificação, quase sempre por política da empresa.

Arquivo → Opções → Central de Confiabilidade → Configurações → Configurações de Macro. Se estiver em cinza, quem bloqueia é o administrador: vá pelo caminho sem macros.

Um detalhe do segundo caso que confunde muita gente: o desbloqueio precisa ser feito com o arquivo fechado, e é uma propriedade daquele arquivo, não da pasta. Se você baixar uma cópia nova amanhã, ela chega bloqueada de novo. Quando isso vira rotina diária, o certo é declarar a pasta como local confiável, e não desbloquear arquivo por arquivo.

04 · mensagens

O que cada erro está dizendo.

Se as macros já estão habilitadas e a função continua sem dar o resultado, a mensagem na célula diz bem mais do que parece.

O que você vê Causa O que fazer
#NOME? O Excel não reconhece a função As macros estão desativadas, o nome está escrito errado, ou a função mora em outra pasta de trabalho que agora está fechada.
A função sumiu ao reabrir O arquivo foi salvo como .xlsx O formato .xlsx não aceita macros e o Excel as descarta ao salvar, com um aviso fácil de aceitar sem ler. Salve como .xlsm.
Erro de compilação: Sub ou Function não definida Falta parte do código O código foi colado pela metade, ou falta uma função auxiliar que a principal chama. Cole o bloco inteiro.
Símbolos estranhos no lugar dos acentos Codificação do editor VBA Salve o módulo, feche e reabra o editor. Costuma assentar na segunda vez.
Funciona numa planilha e em outra não A função está naquele arquivo Uma função num módulo comum só existe dentro do próprio arquivo. Para tê-la em todas, ela vai no PESSOAL.XLSB ou num suplemento.
#VALOR! A célula não tem um número Há texto, um espaço invisível ou número armazenado como texto. Confira com ÉNÚM().

O primeiro da lista é de longe o mais frequente, e também o mais enganoso: #NOME? não quer dizer que o código está escrito errado, e sim que o Excel não encontra função alguma com aquele nome. É o mesmo erro que aparece ao digitar «=SOMMA(A1:A9)». A pergunta certa não é «o que há de errado no código?» e sim «por que o Excel não está enxergando ele?».

05 · erros de método

Cinco costumes que quebram tudo.

Além das mensagens de erro, há cinco jeitos de trabalhar que garantem ter o mesmo problema de novo na semana que vem.

Salvar o arquivo como .xlsx «porque é o normal»

+ Salvar como .xlsm (Pasta de Trabalho Habilitada para Macro)

É o erro número um. O .xlsx descarta o código ao salvar e o trabalho se perde em silêncio.

Baixar um .xlsm de um fórum e abrir direto

+ Desbloquear o arquivo em Propriedades antes de abrir

Com a Marca da Web, o Excel nem oferece o botão de habilitar. Parece que o código está quebrado, e ele só está bloqueado.

Colar o código dentro de «Plan1» ou «EstaPasta_de_trabalho»

+ Inserir → Módulo, e colar ali

Na planilha ou na pasta de trabalho, a função não é publicada como função de planilha e não aparece ao digitar «=».

Baixar a segurança para «Habilitar todas as macros»

+ Manter o aviso e usar um local confiável

Essa opção abre a porta para qualquer macro de qualquer arquivo. Uma pasta declarada confiável resolve o mesmo sem desarmar a proteção.

Reenviar o .xlsm por e-mail para dez colegas

+ Distribuir um suplemento .xlam, ou usar o caminho sem macros

Cada cópia chega bloqueada e cada pessoa precisa repetir o desbloqueio. E uma cópia corrigida não se sincroniza com as outras.

06 · de uma vez por todas

Que a função esteja sempre ali.

Uma função colada num módulo mora dentro daquele arquivo e só dele. É por isso que ela funciona na planilha de ontem e não na de hoje, e é por isso que a gente acaba colando o mesmo código pela décima vez. Se você converte valores por extenso com alguma frequência, compensa instalar de uma vez e esquecer.

O caminho para uso próprio é a pasta de trabalho pessoal de macros, o PESSOAL.XLSB: um arquivo oculto que o Excel abre a cada sessão. Ela se cria gravando uma macro qualquer com a opção «Armazenar macro em: Pasta de trabalho pessoal de macros», e a partir daí o código que você puser nos módulos fica disponível em todas as suas planilhas, novas e antigas, sem colar de novo.

Para uma equipe, o certo é um suplemento .xlam: o código é salvo como suplemento, cada pessoa ativa uma vez em Opções → Suplementos, e a função fica instalada no Excel dela, não num arquivo solto circulando por e-mail. Tem a vantagem de que uma correção se distribui atualizando um arquivo só, em vez de caçar cópias.

Nos dois casos a regra do formato continua mandando: as planilhas onde você usar a função são salvas em .xlsm. O suplemento resolve onde o código mora, não em que formato você salva o seu trabalho.

07 · quando não há macro

Os quatro ambientes sem saída.

Há situações em que nenhuma das soluções acima se aplica, e reconhecê-las a tempo poupa horas de tentativa. Nestas quatro, a macro não vai funcionar por mais que você insista.

▸ excel no navegador

A versão web não executa VBA de jeito nenhum. Abre o arquivo e mostra os dados, mas o código não roda.

▸ política da empresa

Se a opção da Central de Confiabilidade aparece em cinza, quem decide é um administrador. Não há ajuste local que sobrescreva.

▸ libreoffice calc

Tem o seu próprio Basic e compatibilidade parcial com VBA, mas uma função de extenso com acentos e concordâncias raramente sobrevive ao transplante sem retoque.

▸ arquivos compartilhados na nuvem

Uma planilha que várias pessoas editam ao mesmo tempo no navegador volta ao primeiro caso: o código está lá, mas ninguém executa.

Nos quatro casos a saída é a mesma e não passa por VBA: uma função LAMBDA, que faz a conversão com fórmulas nativas, mora dentro do próprio arquivo e viaja com ele sem disparar bloqueio algum. O gerador de código produz essa versão além da macro.

E para um valor avulso — o de um recibo, o de um cheque — montar qualquer uma das duas é desproporcional: o conversor de número por extenso dá o resultado na hora, com as mesmas regras de concordância.

08 · perguntas

Perguntas frequentes.

  1. Q01

    O Excel diz que bloqueou as macros e não me deixa habilitar. E agora?

    Esse é o bloqueio da Marca da Web, que o arquivo recebe ao vir da internet, do e-mail ou de uma pasta de rede. Desde 2022 a Microsoft bloqueia as macros desses arquivos por padrão e, diferente do aviso amarelo de sempre, esse não oferece botão para liberar — daí a sensação de beco sem saída. A saída existe, mas é fora do Excel: feche o arquivo, clique com o botão direito, Propriedades, e marque «Desbloquear» no rodapé da aba Geral.

  2. Q02

    O que significa o erro #NOME? na célula?

    Que o Excel leu a fórmula mas não sabe que função é essa. São três motivos possíveis, nessa ordem: as macros estão desativadas, o nome está digitado errado, ou a função está em outra pasta de trabalho que não está aberta agora. Descarte os três e o erro sai; se persistir, confira se o código está num módulo e não na planilha.

  3. Q03

    Por que a função some quando eu fecho e abro o arquivo de novo?

    Quase certamente o arquivo foi salvo como .xlsx. Esse formato não guarda código, então o Excel o descarta ao salvar; ele avisa, mas numa caixa de diálogo que quase todo mundo aceita sem ler. A solução é Salvar como → Pasta de Trabalho Habilitada para Macro do Excel (.xlsm). Se já perdeu, é preciso colar o código de novo: não dá para recuperar.

  4. Q04

    Como deixo a função disponível em todas as minhas planilhas?

    Colocando-a na pasta de trabalho pessoal de macros, o PESSOAL.XLSB, que o Excel abre oculto a cada sessão. Ela se cria gravando uma macro qualquer com a opção «Armazenar macro em: Pasta de trabalho pessoal de macros», e a partir daí o código que você puser nos módulos vale em todas as suas planilhas. A alternativa, se precisar distribuir para mais gente, é um suplemento .xlam.

  5. Q05

    É perigoso ativar as macros?

    Depende inteiramente de onde o código veio. Uma macro é um programa com as mesmas permissões que você, então pode ler e apagar arquivos. Por isso o conselho não é «nunca ative», e sim «leia o código antes». Um código de conversão por extenso são algumas dezenas de linhas de texto e números, sem instruções de rede nem de sistema de arquivos; se você vir algo que abre conexões ou mexe em pastas, não execute.

  6. Q06

    O que é um local confiável e por que ele é melhor que baixar a segurança?

    É uma pasta que você declara segura: os arquivos que estiverem dentro abrem as macros sem aviso, e todo o resto continua protegido. Configura-se em Arquivo → Opções → Central de Confiabilidade → Configurações → Locais Confiáveis. É melhor que a opção de habilitar todas as macros, que remove a proteção para qualquer arquivo vindo de qualquer lugar.

  7. Q07

    Na minha empresa as macros são bloqueadas por política. Sobra alguma opção?

    Sobra, e não passa por convencer o TI. As funções LAMBDA fazem a conversão sem uma linha de VBA, moram dentro do próprio arquivo e viajam com ele sem disparar bloqueio nenhum. O gerador deste site produz essa versão além da macro. Para um valor avulso, o conversor da página inicial é mais rápido que as duas.

  8. Q08

    Posso mandar a planilha com a macro para um colega?

    Pode, mas ela vai chegar bloqueada: ao viajar por e-mail ou pela rede, o arquivo recebe a Marca da Web e seu colega verá a faixa vermelha. Ele vai precisar desbloquear em Propriedades como você fez. Se forem várias pessoas, compensa distribuir um suplemento .xlam instalado uma vez, ou direto a versão LAMBDA, que não tem esse problema.

  9. Q09

    Funciona igual no Excel para Mac?

    O VBA existe no Excel para Mac e uma função de extenso roda sem problema, mas o ambiente muda: o editor abre por Ferramentas → Macro → Editor do Visual Basic, não há um PESSOAL.XLSB com o mesmo nome e as permissões de arquivo do sistema pedem confirmação à parte. O que não muda é a regra do formato: tem que salvar em .xlsm.

  10. Q10

    E no Excel para a web?

    Ali não há solução possível com macro: a versão web não executa VBA de jeito nenhum. Você abre um .xlsm e vê os dados, mas o código não roda e a função devolve erro. Se você trabalha no navegador, as opções reais são a fórmula LAMBDA ou converter o valor no conversor e colar o resultado.

  11. Q11

    Por que a macro fica lenta numa planilha com milhares de linhas?

    Porque uma função personalizada em VBA é avaliada linha a linha e é muitas ordens de grandeza mais lenta que uma função nativa. Com algumas células ninguém percebe; com vinte mil, percebe. A saída habitual é converter uma vez e depois colar o resultado como valores, para a planilha parar de recalcular um texto que não vai mais mudar.

  12. Q12

    Preciso disso para emitir nota fiscal?

    Não para a emissão em si — o sistema emissor da NF-e gera o documento sozinho. A conversão por extenso entra nos documentos que acompanham a operação e que muita gente ainda monta em planilha: recibo, contrato, nota promissória, relatório de fechamento. É nesses que o valor por extenso é cobrado, e é neles que a função no Excel poupa a digitação manual.

Primeiro o bloqueio, depois o código.

Antes de trocar de macro, confira o formato do arquivo e a Marca da Web: é onde está a maioria dos casos. Se o ambiente não aceita macro, a versão LAMBDA faz o mesmo sem pedir licença a ninguém.

Gerar o código para Excel →