Digitação automática de zeros Excel VBA

MR
Marcos Rieper

Especialista em Excel

31 de julho de 2011 Atualizado 08 de julho de 2026 2 min de leitura
Digitação automática de zeros Excel VBA

Objetivo: Demonstrar a utilização de códigos VBA para inserir dados automaticamente no Excel, por exemplo, zeros á esquerda ou retirar a vírgula de um número decimal e formatar com zeros á esquerda.

Esta digitação automática de dados no Excel pode ser muito útil para cadastro de dados faltantes em arquivos texto formatados por exemplo.

Na planilha exemplo foram criados dois campos, um para digitação da loja, aonde pode ser digitado apenas o número 1, e os zeros á esquerda são inseridos automaticamente, e outro para digitar um valor formatado, digitando um valor decimal, separado por vírgula, que será transformado em um número formatado com zeros á esquerda e sem a vírgula.

Abaixo o código fonte utilizado na planilha com os devidos comentários

'O evento Worksheet_Change é disparado quando há uma alteração em qualquer dado da planilha
Private Sub Worksheet_Change(ByVal Target As Range)
    'Este comando envia para o comando Sair: ao final desta sub a execução do processo
    'Evitando desta forma que a verificação dos eventos
    'continue desativada caso ocorra algum erro.
    On Error GoTo Sair

    'Desabilita a escuta de eventos para que não entre em loop ao alterar a célula
    Application.EnableEvents = False

    'Em Target.Row identifica se é a linha é maior ou igual a segunda linha
    'Em Target.Column identifica se a coluna é a correta a ser formatada
    If Target.Row >= 2 And Target.Column = 1 Then
        'A função CStr converte qualquer valor em texto
        'A função Len conta o número de caracteres de uma cadeia de caracteres
        'A função String repete um determinado número X vezes,
        'no caso 3 menos o número de caracteres digitados
        'O + nesta função realiza a concatenção dos zeros e do valor digitado
        Target.Value = CStr(String(3 - Len(Target.Value), "0")) + CStr(Target.Value)
    End If

    'Neste bloco de código é realizada a mesma verificação,
    'apenas com tratamento diferente dos dados
    If Target.Row >= 2 And Target.Column = 2 Then
        'Multiplica o valor por 100 para excluir a vírgula
        Target.Value = Target.Value * 100
        'Formata o valor com 15 digitos no total.
        Target.Value = CStr(String(15 - Len(Target.Value), "0")) + CStr(Target.Value)
    End If

Sair:
    Application.EnableEvents = True
End Sub
Download — baixe aqui: Formatação automática

Preencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado