Función de texto VBA

Este tutorial demostrará cómo usar la función de texto en VBA.

La función Texto se utiliza en una hoja de cálculo de Excel para devolver una parte de una cadena en un formato específico. La función de texto no es una función de VBA, pero se puede usar en VBA haciendo referencia al objeto de función de hoja de trabajo.

WorksheetFunction.Text

Por lo tanto, la sintaxis en VBA sería la siguiente:

= WorksheetFunction.Text (Arg1, Arg2)

donde Arg1 es la cadena original y Arg2 es el formato de la cadena que queremos que se devuelva.

1234567 Sub TestWSFunction ()Dim dte como cadenaDim strD como cadenadte = "08/05/2021"strD = WorksheetFunction.Text (dte, "mmmm")MsgBox strDEnd Sub

En el ejemplo anterior, la variable de cadena dte almacena una fecha. Luego, la función de texto devuelve la parte del mes de la fecha.

Dar formato a números con la función de texto

Podemos usar la función de texto para formatear números en nuestro código VBA.

1234567 Sub FormatCurrency ()Dim strNum como cadenaDim strFormat como cadenastrNum = "75896.125"strFormat = WorksheetFunction.Text (strNum, "$ #, ## 0.00")MsgBox strFormatEnd Sub

La cadena devuelta en el ejemplo anterior sería $ 75,896.13.

Otros ejemplos de formateo de números usando la función de texto son:

12345678 = WorksheetFunction.Text (75896.125, "0")esto volverá: "75896"= WorksheetFunction.Text (75896.125, "0.0")esto volverá: "75896.1"= WorksheetFunction.Text (75896.125, "#, ## 0")esto volverá: "75,896"

Sin embargo, Excel tiene una función VBA incorporada que podemos usar en lugar de la función Texto si deseamos formatear fechas y números dentro de VBA. Esto se conoce como función de formato.

La función de formato VBA

Tomando el ejemplo anterior, en lugar de usar WorksheetFunction.Text, podemos usar la función de formato para lograr los mismos resultados.

12345678 = Formato (75896.125, "0")esto volverá: "75896"= Formato (75896.125, "0.0")esto volverá: "75896.1"= Formato (75896.125, "#, ## 0")esto volverá: "75,896"

De manera similar, podemos usar la función de formato para formatear partes de fecha de una cadena.

1234567 Sub TestFormatFunction ()Dim dte como cadenaDim strD como cadenadte = "08/05/2021"strD = Formato (dte, "mmmm")MsgBox strDEnd Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave