Função de texto VBA do Excel
A função de texto VBA é usada apenas no VBA. Parece que converte os números em texto. Mas, na realidade, converte números para qualquer formato, como Hora, Data ou intervalo de números. Para isso, precisamos permitir que essa função seja ativada como Classe.
Se virmos o argumento do texto VBA, veremos que ele consiste em Arg1 e Arg2, como mostrado abaixo.
- Arg1 - Aqui colocaremos o valor que queremos converter no formato padrão.
- Arg2 - E aqui vamos selecionar o formato em que queremos ver a saída como.
Ambas as variáveis serão definidas como String.
Como usar a função de texto Excel VBA?
Vamos aprender como usar uma função de texto VBA com alguns exemplos no Excel.
Você pode fazer o download deste modelo de texto VBA Excel aqui - Modelo de texto VBA ExcelFunção de texto VBA - Exemplo # 1
Converteremos o texto ou os números no formato padrão em todos os próximos exemplos de maneiras diferentes.
Siga as etapas abaixo para usar a função Texto no VBA.
Etapa 1: Abra um módulo que está disponível na guia do menu Inserir, como mostrado abaixo.
Etapa 2: No módulo VBA aberto, escreva o subprocedimento de texto VBA, como mostrado abaixo.
Código:
Sub VBA_Text1 () End Sub
Etapa 3: conforme a sintaxe do texto VBA, existem dois argumentos que precisaremos. Portanto, defina a primeira variável como String, onde forneceremos a entrada, como mostrado abaixo.
Código:
Sub VBA_Text1 () Dim Input1 como String End Sub
Etapa 4: Agora defina outra variável na qual obteremos a saída. E isso também seria como String.
Código:
Sub VBA_Text1 () Dim Input1 Como String Dim Output Como String End Sub
Etapa 5: Agora considere qualquer número aleatório que precisamos converter para o formato padrão. Este pode ser o número que queremos ver ou qualquer número aleatório. Suponha que, se considerarmos um número decimal 0, 123 e vermos o que obteríamos.
Código:
Sub VBA_Text1 () Dim Input1 Como String Dim Output Como String Input1 = 0.123 End Sub
Etapa 6: Agora, na outra variável definida que é Output, a usaremos para colocar o texto VBA. Agora, essa função será usada como função de planilha, como mostrado abaixo.
Etapa 7: selecione a função VBA Text na lista de funções incorporadas. Agora, de acordo com a sintaxe, usaremos nossa variável e formato nos quais queremos converter como formato padrão Arg1, nos quais queremos converter o número selecionado.
Código:
Sub VBA_Text1 () Dim Input1 Como String Dim Output Como String Input1 = 0.123 Output = WorksheetFunction.Text (End Sub
Etapa 8: No Arg1, escrevemos a variável Input1, que possui nosso número que precisamos converter, e o Arg2 terá o formato HH: MM: SS AM / PM.
Código:
Sub VBA_Text1 () Dim Input1 como string Dim Output como string Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") End Sub
Etapa 9: Agora use MsgBox para ver o que vem como Saída.
Código:
Sub VBA_Text1 () Dim Input1 como string Dim Output como string Input1 = 0.123 Output = WorksheetFunction.Text (Input1, "hh: mm: ss AM / PM") MsgBox Output End Sub
Etapa 10: Agora execute o código pressionando a tecla F5 ou clicando no botão Play. Receberemos a caixa de mensagem com uma mensagem como 02:57:07 .
Veremos outra hora se escolhermos outro número.
Etapa 11: Agora vamos alterar o número de entrada como 12345 e alterar o formato da saída em DD-MMM-AAAA, como mostrado abaixo.
Código:
Sub VBA_Text2 () Dim Input1 como string Dim Output como string Input1 = 12345 Output = WorksheetFunction.Text (Input1, "DD-MM-aaaa") MsgBox Output End Sub
Etapa 12: Agora, execute novamente o código. Obteremos a data em 18 de outubro de 1933
Se soubermos o número exato pelo qual podemos obter uma data ou hora exata, será melhor.
Função de texto VBA - Exemplo # 2
Há outra maneira direta de aplicar o texto VBA. Para isso, inseriremos alguns números na planilha do Excel, como mostrado abaixo.
Siga as etapas abaixo para usar a função Texto no VBA.
Etapa 1: em um módulo, escreva a subcategoria de texto VBA, como mostrado abaixo.
Código:
Sub VBA_Text3 () End Sub
Etapa 2: selecione o intervalo de células em que queremos ver a saída. Vamos considerar que essas células sejam de B1 a B5.
Código:
Sub VBA_Text3 () Intervalo ("B1: B5"). Valor Fim Sub
Etapa 3: agora selecione o intervalo de células que precisamos converter. Aqui esse intervalo é da célula A1 a A5, juntamente com a função Planilha.
Código:
Sub VBA_Text3 () Intervalo ("B1: B5"). Valor = Intervalo ("A1: A5"). Planilha. End Sub
Etapa 4: selecione a função Índice, avaliando-a.
Código:
Sub VBA_Text3 () Intervalo ("B1: B5"). Valor = Intervalo ("A1: A5"). Planilha. Avaliação ("INDEX (End Sub
Etapa 5: Agora considere a função Texto e selecione o intervalo que precisamos converter. E o formato deve estar em vários zeros.
Código:
Sub VBA_Text3 () Intervalo ("B1: B5"). Valor = Intervalo ("A1: A5"). Planilha. Avaliação ("INDEX (TEXTO (A1: A5, " "'000000" ")))) End Sub
Etapa 6: Agora execute o código pressionando a tecla F5 ou clicando no botão Play. Veremos os números disponíveis na coluna A agora foram convertidos em texto com vários zeros, o que leva a 6 dígitos na coluna B.
Agora vamos ver o que aconteceria se mudarmos novamente o formato de saída dos zeros à esquerda para o formato da hora.
Etapa 7: No Arg2, coloque o formato de hora como HH: MM: SS e altere a célula do intervalo de saída para C1 para C5 sem atrapalhar a saída obtida no código anterior.
Código:
Sub VBA_Text3 () Intervalo ("C1: C5"). Valor = Intervalo ("C1: C5"). Planilha. Avalie ("INDEX (TEXTO (A1: A5, " "hh: mm: ss" "), )" ) End Sub
Etapa 8: execute novamente o código. Veremos que a coluna C será preenchida com o formato de horário padrão.
Vamos tentar outro experimento.
Etapa 9: neste caso, alteraremos o intervalo de células de saída de D1 para D5, onde veremos o texto VBA. E altere o Arg2, no formato Data, que é DD-MMM-AAAA, conforme mostrado abaixo.
Código:
Sub VBA_Text3 () Intervalo ("D1: D5"). Valor = Intervalo ("D1: D5"). Planilha. Avalie ("INDEX (TEXTO (A1: A5, " "DD-MMM-AAAA" "), )" ) End Sub
Etapa 10: execute novamente o código. Desta vez, veremos a data na coluna D. E essas datas estão no formato DD-MMM-AAAA.
É assim que podemos alterar os números em qualquer formato padrão que desejarmos.
Prós e contras da função de texto Excel VBA
- Isso é fácil de implementar.
- Podemos alterar os números em qualquer formato que desejemos ver.
- Não podemos converter nenhum texto no formato de número necessário.
Coisas para lembrar
- O texto VBA converte apenas números em números. Mas o formato dos números serão os formatos padrão, como Data, Hora, a combinação de Data e Hora ou qualquer sequência de dígitos.
- Se você estiver aplicando e alterando os números em um formato de zeros anteriores, coloque o apóstrofo antes dos zeros. Para que os números sejam convertidos em texto e os zeros apareçam.
- Se tentarmos converter qualquer texto com texto VBA, ele fornecerá a saída como somente texto.
- Para obter a saída exata, precisamos conhecer a combinação de números que fornecerá a hora e a data exata que queremos ver.
- Depois de feito, salve sempre o código completo no formato Habilitado para Macro, para que o código não seja perdido.
Artigos recomendados
Este é um guia para a função de texto VBA. Aqui discutimos como usar a função Texto no Excel VBA, juntamente com exemplos práticos e modelo de Excel para download. Você também pode consultar nossos outros artigos sugeridos -
- Copiar Colar Função no VBA
- Função Excel de Substring
- Subscrito VBA fora do intervalo
- Fórmula ISNUMBER do Excel