Formato de número VBA do Excel
Embora o formato de número do VBA pareça simples, é muito importante dominá-los. No VBA, temos várias maneiras de formatar números, temos a Função de Formato Numérico.
Quando se trata de objeto de intervalo, usamos a propriedade Range.NumberFormat para formatar números no intervalo. No artigo de hoje, veremos como usar o formato numérico no objeto range para aplicar o estilo de formatação aos nossos números.
O que a função Number Format faz no VBA?
Apenas para lembrá-lo, o Excel armazena todos os valores numéricos como números de série, seja de data ou hora, que também serão armazenados como números de série. De acordo com o formato dado pelo usuário ao número de série, ele exibirá o resultado.
Por exemplo, suponha que você tenha o número 43542 na célula A2.
Agora vou aplicar o formato de data "dd-mmm-aaaa".
E exibirá o resultado em 18 de março de 2019.
Da mesma forma, no VBA, também executaremos o mesmo trabalho usando a propriedade de formato numérico.
Como usar a função de formato numérico no VBA?
Vamos entender como usar a função Number Format no VBA com alguns exemplos.
Você pode fazer o download deste modelo Excel do formato de número do VBA aqui - Modelo Excel do formato de número do VBAExemplo 1
Ok, veremos como formatar o mesmo valor de célula usando o código VBA. Removerei o formato de data que apliquei ao número de série 43542 na célula A2.
Agora vá para o editor VBA e crie um nome de macro.
Código:
Sub NumberFormat_Example1 () End Sub
Agora precisamos dizer qual célula realmente queremos formatar, neste caso, precisamos formatar a célula A2. Então escreva o código como "Intervalo (" A2 ")"
Código:
Sub NumberFormat_Example1 () Range ("A2") End Sub
Depois de selecionar a célula para selecionar a propriedade chamada “NumberFormat”, coloque ponto (.)
Depois de selecionar a propriedade, coloque um sinal de igual.
Agora aplique o formato que queremos aplicar neste caso, o formato é o formato da data, ou seja, o formato "dd-mmm-aaaa".
Código:
Sub NumberFormat_Example1 () Range ("A2"). NumberFormat = "dd-mmm-aaaa" End Sub
Agora, execute esse código, ele exibirá o resultado exatamente igual à formatação do número da planilha.
Exemplo 2
Formatar números usando formatos internos
Suponha que você tenha poucos números da célula A1 a A5.
Vamos experimentar diferentes formatos de números internos. Alguns dos formatos numéricos são "Padrão", Geral ", " Moeda ", " Contabilidade ".
Para aplicar a formatação, precisamos primeiro selecionar o intervalo de células, aqui o intervalo de células é de A1 a A5 e, em seguida, selecione a propriedade de formato numérico.
Aplique o formato do número como "Geral".
Código:
Sub NumberFormat_Example2 () Range ("A1: A5"). NumberFormat = "General" End Sub
Exemplo 3
Como "Geral" não afeta os números padrão, não vemos alterações. Portanto, aplique o formato da moeda e o código para o formato da moeda é "#, ## 0, 00".
Código:
Sub NumberFormat_Example3 () Intervalo ("A1: A5"). NumberFormat = "#, ## 0.0" End Sub
Isso aplicará o formato da moeda como o abaixo.
Exemplo 4
Se você deseja ter o símbolo da moeda, pode fornecer o símbolo da moeda antes do código.
Código:
Sub NumberFormat_Example4 () Intervalo ("A1: A5"). NumberFormat = "$ #, ## 0.0" End Sub
Este código adicionará um símbolo de moeda aos números como parte da formatação.
Exemplo 5
Formatar valores percentuais
Agora veremos como formatar valores percentuais. Para este exemplo, eu criei alguns dos valores de porcentagem da célula A1 a A5.
Agora selecione o intervalo e selecione a propriedade Formato do número.
Aplique o código de formatação como "0, 00%".
Código:
Sub NumberFormat_Example5 () Range ("A1: A5"). NumberFormat = "0.00%" End Sub
Execute esse código usando a tecla F5 ou manualmente e, em seguida, ele converterá todos os valores em porcentagem.
Agora, olhe para as células a2 e a5, temos valores negativos. Como parte da formatação, também podemos mostrar os valores negativos na cor vermelha. Para mostrar todos os valores negativos, o código de formatação é "0, 00%; (Vermelho) -0, 00%"
Código:
Sub NumberFormat_Example5 () Intervalo ("A1: A5"). NumberFormat = "0.00%; (vermelho) -0.00%" End Sub
Execute esse código usando a tecla F5 ou manualmente e teremos todos os valores de porcentagem negativos na cor vermelha.
Exemplo 6
Formatar números positivos e negativos
Como podemos formatar números, também podemos brincar com eles. Suponha alguns números do intervalo A1 a A5, que também incluem números negativos.
Como mostramos na porcentagem aqui também podemos mostrar todos os números negativos na cor vermelha. Para mostrar números negativos no código de cor vermelho é "#, ##. 00; (vermelho) - #, ##. 00"
Código:
Sub NumberFormat_Example6 () Intervalo ("A1: A5"). NumberFormat = "#, ##. 00; (vermelho) - #, ##. 00" End Sub
Isso formatará os números assim.
Também podemos mostrar números negativos em vermelho e entre parênteses. Para fazer isso abaixo, está o código de formatação.
Código:
Sub NumberFormat_Example6 () Intervalo ("A1: A5"). NumberFormat = "#, ##. 00; (vermelho) (- #, ##. 00)" End Sub
Execute este código usando as teclas F5 ou manualmente e isso formatará os números como este.
Exemplo 7
Texto com formatação numérica
A beleza da formatação de números é que também podemos adicionar valores de texto a ela. Eu tenho uma lista de itens que medem seu peso em "kg".
O problema aqui é que o peso da cenoura diz 30, olhando para esse leitor de peso que não consegue entender se são 30 gramas ou 30 kg. Então, vamos formatar isso usando o código VBA.
Código:
Sub NumberFormat_Example7 () Intervalo ("B2: B6"). NumberFormat = "0 #" "Kg" "" End Sub
Execute esse código usando a tecla F5 ou manualmente e isso adicionará a palavra "Kg" na frente de todo o número de B2 a B6.
Artigos recomendados
Este foi um guia para a função de formato de número do VBA. Aqui discutimos como usar a função de formato de número do VBA do Excel, juntamente com alguns exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Função FIND no Excel com exemplos
- O que é a função VBA no Excel?
- Guia do objeto de intervalo do VBA
- Como usar a função VBA VLOOKUP?