Texte VBA - Comment utiliser la fonction de texte dans VBA Excel? (avec exemples)

Table des matières

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é.

Un des problèmes avec cette fonction comme 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

Voici les exemples de la fonction de texte Excel 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 mise en forme, 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, j'ai appliqué le formatage de l'heure, c'est-à-dire «hh: mm: ss AM / PM».

Puis 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 comme "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. Maintenant, regardez 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. Ce code appliquera la mise en forme.

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 ci-dessous.

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

Articles intéressants...