Texte VBA

Le texte est une fonction de feuille de calcul dans Excel, mais il peut également être utilisé dans VBA tout en utilisant la propriété range avec elle, la fonction de cette fonction est similaire à la fonction de feuille de calcul et elle prend le même nombre d'arguments qui sont les valeurs qui doivent être converti et un format de nombre spécifié.

Fonction de texte Excel VBA

TEXT est la fonction disponible avec la feuille de calcul mais malheureusement, ce n'est pas une fonction intégrée dans Excel VBA. Pour accéder à cette fonction, nous devons utiliser l'objet de classe de fonction de feuille de calcul dans VBA. La fonction de texte dans Excel convertit une valeur dans un format numérique spécifié.

L'un des problèmes avec cette fonction est les arguments. Chaque fois que nous utilisons la classe de fonctions de feuille de calcul VBA, nous ne voyons pas la syntaxe claire comme dans notre feuille de calcul. Il dit simplement «Arg1» et «Arg2».

  • Arg1 est la valeur à laquelle nous devons appliquer la mise en forme.
  • Arg2 est le formatage que nous devons appliquer et nous devons spécifier le code de formatage.

Exemples de fonction de texte VBA dans Excel

Vous trouverez ci-dessous les exemples de la fonction de texte Excel VBA.

Vous pouvez télécharger ce modèle Excel de texte VBA ici - Modèle Excel de texte VBA

Exemple 1

Laissez-moi vous montrer un exemple simple de TEXTE dans VBA Excel. Regardez le code ci-dessous dans Visual Basic.

Code:

 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 

Tout d'abord, j'ai déclaré deux variables sous forme de chaîne dans VBA

 Dim FormattingValue As String Dim FormattingResult As String 

Pour la première variable, j'ai attribué le numéro de formatage que nous devons formater.

FormattingValue = 0,564

Maintenant, pour une autre variable, j'ai assigné la fonction TEXT.

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

Si vous observez que j'ai appliqué le formatage de l'heure, c'est-à-dire "hh: mm: ss AM / PM"

Enfin, j'ai appliqué une boîte de message VBA pour afficher le résultat.

Résultat de mise en forme de MsgBox

Lorsque j'exécute la fonction de code TEXT, applique le format de l'heure au nombre 0,564 et affiche le résultat comme ci-dessous.

Donc, nous avons obtenu l'heure comme « 01:32:10 PM ».

Exemple # 2

Semblable à l'exemple de format de date, nous avons apporté quelques modifications mineures à cet exemple. Ci-dessous le code.

Code:

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

À partir du code précédent, j'ai changé la valeur de mise en forme de 0,565 à 43585 et changé le style de mise en forme en tant que «JJ-MMM-AAAA».

Cela appliquera la mise en forme au nombre 43585 comme date et le résultat est le suivant.

Appliquer la mise en forme aux cellules

Nous avons vu des exemples simples, regardez maintenant comment travailler avec des cellules dans une feuille de calcul. Pour cet exemple, regardez les données ci-dessous.

Pour tous ces nombres, nous devons appliquer le format de l'heure. Pour cela, le code ci-dessous appliquera le formatage.

Code:

 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") k Next Sous 

Ce code parcourra 10 cellules et appliquera la mise en forme comme ci-dessous.

De cette manière, en utilisant la fonction VBA TEXT, nous pouvons appliquer une mise en forme numérique aux cellules.