Le texte délimitant une cellule à la colonne verticale
Dans cet article, nous allons créer une macro pour délimiter le texte d’une cellule dans une colonne verticalement. Nous pouvons délimiter le texte dans la cellule en fonction du délimiteur. Le délimiteur peut être une virgule, un espace, une barre oblique inverse, etc.
Pour expliquer le fonctionnement de la macro, nous avons pris l’URL comme exemple de texte dans la cellule A10. La macro peut être exécutée en cliquant sur le bouton «Soumettre».
Après avoir exécuté la macro, elle retournera la sortie dans la colonne suivante.
La valeur de texte dans la cellule est séparée en plusieurs sous-chaînes dans plusieurs cellules de la deuxième colonne.
Explication logique
Nous avons créé une macro «texttocolumns» qui effectue deux tâches.
Premièrement, il délimite la chaîne de l’A10 en plusieurs sous-chaînes, en fonction du délimiteur. Dans cet exemple, nous avons utilisé le tiret (-) comme délimiteur. Deuxièmement, il parcourt les sous-chaînes générées de plusieurs colonnes vers une seule colonne.
Explication du code
Rng.texttocolumns Destination: = Rng.Offset (0, 1), DataType: = xlDelimited, _ TextQualifier: = xlDoubleQuote, ConsecutiveDelimiter: = True, Other: = True, OtherChar _: = « -«
Le code ci-dessus est utilisé pour délimiter la chaîne dans la plage «Rng». Destination spécifie la plage d’emplacement où la sortie apparaîtra. DataType spécifie le type de délimiteur utilisé. TextQualifier spécifie le caractère utilisé pour le qualificatif de texte. OtherChar spécifie le caractère utilisé comme délimiteur.
Veuillez suivre ci-dessous pour le code
Sub texttocolumns() 'Declaring variables Dim StartRow, i, LastCol As Long Dim Rng As Range 'disabling the display alerts Application.DisplayAlerts = False 'Initializing the variable StartRow = 10 Set Rng = Range("A10") 'Separting the text based on the delimiter Rng.texttocolumns Destination:=Rng.Offset(0, 1), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar _ :="-" 'Finding the column number of cell containing the last string after delimiting LastCol = Rng.End(xlToRight).Column 'arranging the text in columns to rows For i = 2 To LastCol Cells(10, i).Cut Cells(StartRow, 2) StartRow = StartRow + 1 Next i End Sub
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]