Text VBA | Com s'utilitza la funció de text a VBA Excel? (amb exemples)

El text és una funció de full de càlcul a Excel, però també es pot utilitzar a VBA mentre s’utilitza la propietat d’interval, la funció d’aquesta funció és similar a la funció de full de treball i pren el mateix nombre d’arguments que són els valors que cal convertit i un format de número especificat.

Funció de text Excel VBA

TEXT és la funció disponible amb el full de càlcul, però malauradament no és una funció integrada a Excel VBA. Per accedir a aquesta funció, hem d’utilitzar l’objecte de classe de funció de full de càlcul a VBA. La funció de text a Excel converteix un valor en un format de número especificat.

Un dels problemes amb aquesta funció són els arguments. Sempre que fem servir la classe de funcions del full de treball VBA, no podem veure la sintaxi clara com el nostre full de treball. Només diu "Arg1" i "Arg2".

  • Arg1 és el valor al qual necessitem aplicar el format.
  • Arg2 és el format que hem d’aplicar i hem d’especificar el codi de format.

Exemples de funció de text VBA a Excel

A continuació es mostren els exemples de la funció de text Excel VBA.

Podeu descarregar aquesta plantilla Excel de text VBA aquí: plantilla Excel de text VBA

Exemple 1

Deixeu-me mostrar-vos un exemple senzill de TEXT a VBA Excel. Mireu el codi següent a Visual Basic.

Codi:

 Sub Text_Exemple1 () Valoreu el format del format com a cadena Valoreu el format del resultat com a format de valor de cadena = 0,564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub 

En primer lloc, he declarat dues variables com una cadena a VBA

 Dim FormattingValue as String Dim Formatting Result as String 

Per a la primera variable, he assignat el número de format que hem de formatar.

Valor de format = 0,564

Ara per a una altra variable, he assignat la funció TEXT.

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

Si observeu que he aplicat el format del temps, és a dir, "hh: mm: ss AM / PM"

Finalment, he aplicat un quadre de missatge VBA per mostrar el resultat.

MsgBox FormattingResult

Quan executeu el codi, la funció TEXT aplicarà el format d'hora al número 0.564 i mostrarà el resultat com es mostra a continuació.

Així doncs, vam aconseguir el temps com "01:32:10 PM”.

Exemple 2

De manera similar a l'exemple de format de data, hem fet alguns canvis menors en aquest exemple. A continuació es mostra el codi.

Codi:

 Sub Text_Exemple2 () Valoreu el format del format com a cadena Atenueu el format del resultat com a format de valor de cadena = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub 

Des del codi anterior, he canviat el valor de format de 0,565 a 43585 i he canviat l'estil de format per "DD-MMM-AAAA".

S’aplicarà el format al número 43585 com a data i el resultat és el següent.

Apliqueu el format a les cel·les

Hem vist exemples senzills; ara mireu com treballar amb les cel·les d’un full de treball. Per a aquest exemple, mireu les dades següents.

Per a tots aquests números hem d'aplicar el format d'hora. Per a això, el codi següent aplicarà el format.

Codi:

 Sub Text_Exemple3 () Dim k Com enter per a k = 1 a 10 cel·les (k, 2). Valor = Feu de treball Funció.Text (Cel·les (k, 1). Valor, "hh: mm: ss AM / PM") Següent k Final Sub 

Aquest codi farà un bucle a través de 10 cel·les i aplicarà el format de la manera següent.

Així, mitjançant la funció VBA TEXT podem aplicar format de número a les cel·les.