El texto es una función de hoja de trabajo en Excel, pero también se puede usar en VBA mientras se usa la propiedad range con él, la función para esta función es similar a la función de hoja de trabajo y toma la misma cantidad de argumentos que son los valores que deben ser convertido y un formato numérico especificado.
Función de texto de Excel VBA
TEXT es la función disponible con la hoja de trabajo, pero desafortunadamente, no es una función incorporada en Excel VBA. Para acceder a esta función, necesitamos usar el objeto de clase de función de la hoja de trabajo en VBA. La función de texto en Excel convierte un valor a un formato numérico específico.
Uno de los problemas con esta función como argumentos. Siempre que usamos la clase de función de la hoja de trabajo de VBA, no podemos ver la sintaxis clara como en nuestra hoja de trabajo. Solo dice "Arg1" y "Arg2".

- Arg1 es el valor al que debemos aplicar el formato.
- Arg2 es el formato que debemos aplicar y debemos especificar el código de formato.

Ejemplos de la función de texto VBA en Excel
A continuación se muestran los ejemplos de la función de texto de Excel VBA.
Ejemplo 1
Déjame mostrarte un ejemplo simple de TEXTO en VBA Excel. Mire el siguiente código en 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

En primer lugar, he declarado dos variables como una cadena en VBA.
Formato de atenuación Valor como cadena Formato de atenuación Resultado como cadena
Para la primera variable, he asignado el número de formato, que necesitamos formatear.
FormattingValue = 0.564
Ahora, para otra variable, he asignado la función TEXTO.
FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM")
Si observa, he aplicado el formato de hora, es decir, "hh: mm: ss AM / PM".
Luego, finalmente, apliqué un cuadro de mensaje de VBA para mostrar el resultado.
MsgBox FormattingResult
Cuando ejecuto el código, la función TEXT aplicará formato de hora al número 0.564 y mostrará el resultado como se muestra a continuación.

Entonces, obtuvimos la hora como " 01:32:10 PM ".
Ejemplo # 2
Al igual que en el ejemplo del formato de fecha, hemos realizado algunos cambios menores en este ejemplo. A continuación se muestra el código.
Código:
Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub

Desde el código anterior, cambié el valor de formato de 0.565 a 43585 y cambié el estilo de formato a "DD-MMM-YYYY".
Esto aplicará el formato al número 43585 como fecha, y el resultado es el siguiente.

Aplicar formato a las celdas
Hemos visto ejemplos sencillos. Ahora, observe cómo trabajar con celdas en una hoja de trabajo. Para este ejemplo, mire los datos a continuación.

Para todos estos números, debemos aplicar el formato de hora. Este código aplicará el formato.
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") Siguiente k Fin Sub

Este código recorrerá 10 celdas y aplicará el formato a continuación.

De esta manera, al usar la función VBA TEXT, podemos aplicar formato numérico a las celdas.