Número do formato VBA do Excel
O VBA vem com uma função integrada para formatação de números. O nome dessa função embutida é "Format Number". Esta função formata o número específico em um formato exigido pelo usuário.
Antes de prosseguirmos, vamos primeiro entender o que é a formatação de números. A formatação de números basicamente significa que o número específico deve ser mostrado de uma maneira específica. Por exemplo, se você deseja ver um número específico em termos de duas casas decimais (150, 55) ou deseja ver o mesmo número em termos de nenhuma casa decimal (150). Estes são apenas exemplos. Basicamente, podemos categorizar essas formatações numéricas em quatro categorias.
- Pontos decimais
- Números negativos entre parênteses
- Dígitos iniciais
- Dígitos do grupo
Vamos aprender todas as formatações no VBA com a ajuda de exemplos. Mas primeiro, vamos dar uma olhada na sintaxe da função VBA para o número do formato.
Portanto, como você pode ver a sintaxe da função VBA para o número do formato na captura de tela acima, vamos quebrar essa função e entender todas as partes da função.
- Expressão: Como você pode ver, a primeira parte da função é uma expressão que nada mais é do que o número que queremos Formatar.
- Num dígito após o decimal: a segunda parte da função solicita o número de dígitos do número que você deseja ver após o ponto decimal.
- Dígito inicial: útil quando o número está entre -1 e 1, o que significa que o número é maior que -1 e menor que 1. Por exemplo 0, 25.
Portanto, se você deseja ver o valor zero antes do ponto decimal, é necessário inserir o argumento na função como TRUE ou -1. O resultado será 0, 55.
Mas se você inserir o valor no argumento como FALSE ou 0, o resultado será 0, 55.
- Usar pai para números negativos : esta parte é usada para números negativos. Se você quiser ver os números negativos entre parênteses, deverá apresentar um argumento como TRUE ou -1 e o resultado será (156). Mas quando você fornece o argumento como FALSE ou 0, o resultado será -156.
- Dígitos do grupo : Esta é a última parte da função usada para os mil separadores. Portanto, se você quiser ver os números com um separador de milhar, forneça o argumento como TRUE ou -1 e o resultado será 52.000. Mas se você fornecer o mesmo argumento que FALSE ou 0, o resultado será 52000.
Como formatar o número usando o código VBA?
Agora, ao entender as diferentes formas de Formatação de Números e a função incorporada do VBA no formato de Número, podemos ir adiante e ver como podemos usar isso com a ajuda de exemplos.
Você pode baixar este modelo de Excel de número de formato VBA aqui - Modelo de Excel de número de formato VBAAntes de ir para os exemplos, siga as etapas básicas abaixo se você não conhece a macro VBA. Você pode inserir os códigos abaixo no módulo VBA.
Etapa 1: Crie um nome de macro que seja a primeira linha do código, como você pode ver na captura de tela.
Etapa 2: Declare uma das variáveis como String, porque o resultado fornecido pela função de número do formato VBA é String.
Código:
Sub Format_Number_Example1 () Dim MyNum As String End Sub
Agora podemos continuar com nossos exemplos.
Pontos decimais - exemplo # 1
Suponha que estamos trabalhando com o número 56456 e você deseja ver dois números após o ponto decimal.
Etapa 1: no código, você pode adicionar a função embutida do VBA como abaixo.
Mynum = Formatnumber (
Etapa 2: Como você sabe, o primeiro passo da função é a expressão que nada mais é do que o número que você deseja formatar. 56456 no nosso caso.
Mynum = Formatnumber (56456,
Passo 3: O próximo passo é Numdigitafterdecimal, que nada mais é do que o número de dígitos que você deseja ver após o ponto decimal que é 2 no nosso caso.
Código:
Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub
Etapa 4 : a próxima etapa é mostrar o número em uma caixa de mensagem. O VBA possui uma função integrada para mostrar o valor em uma caixa de mensagem que é MSGBOX.
Então, você só precisa inserir o código abaixo depois de inserir a função do número do formato para MyNum.
Código:
Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (56456, 2) MsgBox MyNum End Sub
Como você pode ver, a última linha do código é End Sub, o que significa que o código VBA para a macro termina depois disso.
Etapa 6: quando a codificação do número do formato terminar, você poderá executar a macro e poderá ver o resultado abaixo após executar a macro.
Mil Separadores - Exemplo # 2
Agora suponha que com o mesmo exemplo, precisamos mostrar o mesmo número 56456 com mil separadores. Nesse caso, precisamos fornecer o último argumento como "vbTrue", como mostrado na captura de tela abaixo.
Código:
Sub Format_Number_Example2 ()
Dim MyNum As String
MyNum = FormatNumber (56456, 2,,, vbTrue)
MsgBox MyNum
End Sub
Depois de executar a macro, você poderá ver o resultado abaixo.
Se você selecionar “vbFalse” como o último argumento, o número não será mostrado como separador de milhar.
Mostrar número negativo entre parênteses - exemplo # 3
Suponha que o mesmo número 56456 no exemplo acima seja negativo e você precise mostrar os números negativos entre colchetes; o quarto argumento da função deve ser “vbTrue”, como mostra a captura de tela abaixo.
Código:
Sub Format_Number_Example3 () Dim MyNum As String MyNum = FormatNumber (-56456, 2,, vbTrue, vbTrue) MsgBox MyNum End Sub
Como você pode ver, o quarto e o quinto argumento no código são "vbTrue", o que significa que a formatação para número negativo (quarto argumento) e formatação para mil separadores (quinto argumento) são ambas verdadeiras. Então você verá o número negativo dentro de um colchete e com mil separadores, como mostra a captura de tela abaixo.
Formatação para número entre -1 e 1 - Exemplo # 4
Suponha que o número seja 0, 567, que está entre -1 e 1, então você tem duas opções para formatar o número. A primeira opção é mostrar zero antes do ponto decimal ou não mostrar zero antes do ponto decimal.
Se você escolher a opção de mostrar zero antes do ponto decimal, deverá fornecer o terceiro argumento na função como "vbTrue", como mostra a captura de tela abaixo.
Código:
Sub Format_Number_Example4 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbTrue, vbTrue, vbTrue) MsgBox MyNum End Sub
Você poderá ver o resultado abaixo depois de executar o código da macro.
Como você pode ver, o resultado está mostrando apenas dois dígitos após o ponto decimal, porque fornecemos apenas 2 como o segundo argumento na função.
Se você selecionar o terceiro argumento como "vbFalse", como mostra a captura de tela abaixo.
Código:
Sub Format_Number_Example5 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbFalse, vbTrue, vbTrue) MsgBox MyNum End Sub
Então você não verá o zero antes do ponto decimal, como mostra a captura de tela abaixo.
Coisas para lembrar
- A Função FormatNumber do VBA possui 5 argumentos, portanto, forneça os argumentos corretos na ordem da função. Temos que seguir a ordem da função, não há outra saída.
- Se você mantiver algum argumento em branco, ele considerará automaticamente a opção padrão do VBA.
- Tenha cuidado com os argumentos vbTrue e vbFalse nos últimos três argumentos para formatação de números.
- Para o primeiro argumento que é a expressão, você também pode fornecer a referência de célula na planilha do Excel em vez de qualquer número.
Artigos recomendados
Este é um guia para o número do formato VBA. Aqui discutimos como formatar números no Excel usando o código VBA, além de exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Como usar a função VBA TRIM?
- Matrizes VBA | Tutorial completo
- Como usar o VBA Select Case?
- Função de localização do VBA do Excel