Texto VBA - Como usar a função de texto no VBA Excel? (com exemplos)

Texto é uma função de planilha no Excel, mas também pode ser usada em VBA ao usar a propriedade intervalo com ela; a função para esta função é semelhante à função de planilha e leva o mesmo número de argumentos que são os valores que precisam ser convertido e um formato de número especificado.

Função de texto VBA do Excel

TEXTO é a função disponível na planilha, mas, infelizmente, não é uma função embutida no Excel VBA. Para acessar essa função, precisamos usar o objeto de classe de função de planilha no VBA. A função de texto no Excel converte um valor em um formato de número especificado.

Um dos problemas com esta função como argumentos. Sempre que usamos a classe de função de planilha VBA, não conseguimos ver a sintaxe bem definida como em nossa planilha. Diz apenas “Arg1” e “Arg2”.

  • Arg1 é o valor ao qual precisamos aplicar a formatação.
  • Arg2 é a formatação que precisamos aplicar e precisamos especificar o código de formatação.

Exemplos de função de texto VBA no Excel

Abaixo estão os exemplos da função de texto VBA do Excel.

Exemplo 1

Deixe-me mostrar um exemplo simples de TEXT no VBA Excel. Observe o código a seguir em Visual Basic.

Código:

Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0,564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub

Em primeiro lugar, declarei duas variáveis ​​como uma string no VBA.

Dim FormattingValue As String Dim FormattingResult As String

Para a primeira variável, atribuí o número de formatação, que precisamos formatar.

FormattingValue = 0,564

Agora, para outra variável, atribuí a função TEXT.

FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")

Se você observar, apliquei a formatação da hora, ou seja, “hh: mm: ss AM / PM”.

Finalmente, apliquei uma caixa de mensagem VBA para mostrar o resultado.

MsgBox FormattingResult

Quando executo o código, a função TEXTO aplicará o formato da hora ao número 0,564 e exibirá o resultado conforme abaixo.

Então, obtivemos o horário como “ 13:32:10 ”.

Exemplo # 2

Semelhante ao exemplo do formato de data, fizemos algumas pequenas alterações neste exemplo. Abaixo está o código.

Código:

Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-AAAA") MsgBox FormattingResult End Sub

Do código anterior, mudei o valor de formatação de 0,565 para 43585 e mudei o estilo de formatação para “DD-MMM-AAAA”.

Isso aplicará a formatação ao número 43585 como a data e o resultado é o seguinte.

Aplicar formatação às células

Vimos exemplos simples. Agora, veja como trabalhar com células em uma planilha. Para este exemplo, veja os dados abaixo.

Para todos esses números, precisamos aplicar o formato de hora. Este código aplicará a formatação.

Código:

Sub Text_Example3 () Dim k As Integer For k = 1 To 10 Cells (k, 2) .Value = WorksheetFunction.Text (Cells (k, 1) .Value, "hh: mm: ss AM / PM") Próximo k Fim Sub

Este código percorrerá 10 células e aplicará a formatação abaixo.

Assim, usando a função VBA TEXT, podemos aplicar a formatação numérica às células.

Artigos interessantes...