GARNITURE VBA

Fonction Excel VBA TRIM

VBA TRIM est catégorisé sous les fonctions de chaîne et de texte, cette fonction est une fonction de feuille de calcul dans VBA et similaire à la référence de feuille de calcul cette fonction est utilisée pour couper ou supprimer les espaces indésirables d'une chaîne, elle prend un seul argument qui est une chaîne d'entrée et renvoie une sortie sous forme de chaîne.

Il existe plusieurs situations où nous téléchargeons les données à partir de serveurs en ligne et nous sommes confrontés à une situation de données non organisées et d'espaces indésirables dans la cellule. Il est très difficile de travailler avec des espaces inutiles. Dans les fonctions de feuille de calcul normales, nous avons une fonction appelée TRIM dans Excel pour se débarrasser des «espaces de début, des espaces de fin et des espaces intermédiaires» . Dans VBA également, nous avons une fonction appelée TRIM qui fonctionne exactement de la même manière que la fonction Excel, mais il n'y a qu'une légère différence, nous le verrons dans cet article un peu plus tard.

Que fait la fonction Trim?

TRIM est une fonction de chaîne qui supprime les espaces dans Excel de la cellule sélectionnée. Dans les espaces, nous avons 3 types «d'espaces principaux, d'espaces de fin et d' espaces intermédiaires » .

L'espace de début n'est rien, mais avant qu'une valeur ne commence dans la cellule s'il y a un espace, il est appelé espace de début .

L'espace de fin n'est rien d'autre qu'après la fin de la valeur dans la cellule s'il y a un espace, il est appelé comme espace de fin.

L'espace intermédiaire n'est rien après la fin de chaque mot, idéalement, nous devrions avoir un caractère d'espace, rien de plus qu'un caractère d'espace est appelé espace intermédiaire.

Pour surmonter tous ces types de problèmes, nous avons une fonction appelée TRIM.

Syntaxe

Chaîne: quelle est la chaîne ou la valeur que vous souhaitez couper? Il peut s'agir d'une référence de cellule ainsi que d'un apport direct de valeur à la formule.

Exemples

Vous pouvez télécharger ce modèle de fonction VBA TRIM ici - Modèle de fonction VBA TRIM

Exemple 1

Nous allons maintenant voir comment supprimer les espaces de début dans Excel à l'aide de la fonction TRIM. Suivez les étapes ci-dessous

Étape 1: Créez un nom de macro et déclarez une variable en tant que chaîne.

Code:

 Sub Trim_Example1 () Dim k As String End Sub 

Étape 2: Maintenant, pour cette variable déclarée, attribuez une valeur à l'aide de TRIM.

Code:

 Sub Trim_Example1 () Dim k As String k = Trim (End Sub 

Étape 3: Pour cette chaîne, saisissez le mot entre guillemets comme «Bienvenue dans VBA».

Code:

 Sub Trim_Example1 () Dim k As String k = Trim ("Welcome to VBA") End Sub 

Étape 4: affichez maintenant le résultat de cette variable dans la boîte de message.

Code:

 Sub Trim_Example1 () Dim k As String k = Trim ("Welcome to VBA") MsgBox k End Sub 

Étape 5: Exécutez ce code à l'aide de la touche F5 ou exécutez manuellement, nous devrions obtenir une chaîne correcte dans la boîte de message.

Production:

Ainsi, la fonction TRIM a supprimé tous les espaces de début que nous avons entrés dans la valeur de chaîne. Maintenant, le résultat est une phrase correcte à savoir «Bienvenue dans VBA» .

Exemple # 2

Jetez maintenant un œil à un autre exemple pour supprimer les espaces de fin. Prenez le même mot, mais cette fois, entrez des espaces de fin.

«Bienvenue à VBA».

Code:

 Sub Trim_Example2 () Dim k As String k = Trim ("Welcome to VBA") MsgBox k End Sub 

Exécutez ce code manuellement ou via la touche F5 La fonction Trim supprime également les espaces de fin.

Production:

Exemple # 3 - Nettoyer les données dans les cellules

Nous allons maintenant voir l'exemple pratique du nettoyage des données dans des cellules Excel. Supposons que vous ayez un ensemble de données comme celui ci-dessous dans votre feuille Excel.

Lorsque nous avons plus d'une donnée de cellule, nous devons écrire différents codes. Suivez les étapes ci-dessous pour écrire du code.

Étape 1: Déclarez une variable comme «Plage».

Code:

 Sub Trim_Example3 () Dim MyRange As Range End Sub 

Étape 2: Puisque le type de données de plage est un objet, nous devons d'abord définir la plage. Définissez donc la plage comme «sélection».

Code:

 Sub Trim_Example3 () Dim MyRange As Range Set MyRange = Selection End Sub 

Remarque: MyRange = Selection signifie que les cellules que je sélectionne deviennent une plage. Donc, dans cette plage, TRIM supprime les espaces indésirables.

Étape 3: Maintenant, en utilisant For Each VBA Loop, appliquez la fonction TRIM.

Code:

 Sub Trim_Example3 () Dim MyRange As Range Set MyRange = Sélection pour chaque cellule de MyRange cell.Value = Trim (cell) Next End Sub 

Step 4: Now go back to the worksheet. Go to insert and draw a rectangular shape.

Step 5: Add a word to the inserted rectangular shape as click here to clean the data.

Step 6: Right-click on the rectangular shape and select the assign macro.

Step 7: Now the macro names box will open. Select the name of the macro we just created. Click on Ok.

 

Step 8: Now select the range where we need to clean the data.

Step 9: After selecting the range click on the assigned macro rectangular box. It will clean the data.

So we got cleaned value i.e. after removing leading & trailing spaces.

Difference Between Excel & VBA Trim Function

The only difference between them is VBA function cannot remove in between spaces while the worksheet function in VBA does. For example, take a look at the below example.

In cell A3 we have in-between spaces, if select and click on the rectangular shape it will only remove trailing & leading spaces, not in-between spaces.

To overcome this problem we need to use the trim function as a worksheet function in the code.

Code:

 Sub Trim_Example3() Dim MyRange As Range Set MyRange = Selection For Each cell In MyRange cell.Value = WorksheetFunction.Trim(cell) Next End Sub 

Here we have used worksheet function not a vba function. This will remove all kinds of spaces.

Things to Remember

  • VBA Trim & Worksheet Trim syntax is exactly the same.
  • It can only remove leading & trailing spaces, not in-between spaces.
  • Excel trim function can remove all kinds of spaces.