Passer au contenu principal

Comment concaténer les valeurs de cellule jusqu'à ce que si trouve une cellule vide dans une colonne?

doc concaténer jusqu'à vide 1

Par exemple, j'ai une liste de valeurs qui inclut des cellules vides, et maintenant, je veux concaténer chaque ensemble de données entre les blancs dans une cellule et lister les valeurs combinées dans une autre colonne comme illustré ci-dessous. Comment pourrais-je concaténer des cellules jusqu'à trouver une cellule vide dans une colonne?

Concaténer les valeurs de cellule jusqu'à ce que if trouve une cellule vide dans une colonne avec le code VBA

Concaténer les valeurs des cellules jusqu'à ce qu'il trouve une cellule vide dans une colonne avec Kutools for Excel


flèche bleue bulle droite Concaténer les valeurs de cellule jusqu'à ce que if trouve une cellule vide dans une colonne avec le code VBA

Il n'existe aucun moyen direct pour vous de concaténer un ensemble de cellules entre des espaces, mais vous pouvez appliquer le code VBA suivant pour le gérer. Veuillez procéder comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: concaténer les valeurs de cellule jusqu'à ce que si trouve une cellule vide

Sub Concatenatecells()
'updateby Extendoffice
    Dim xRg As Range
    Dim xSaveToRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xTStr As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selecte the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "the selected range is more than one column", vbInformation, "Kutools for Ecel"
        Exit Sub
    End If
    Set xSaveToRg = Application.InputBox("Please selecte output cell:", "Kutools for Excel", , , , , , 8)
    If xSaveToRg Is Nothing Then Exit Sub
    Set xSaveToRg = xSaveToRg.Cells(1)
    Application.ScreenUpdating = False
    For Each xCell In xRg
        If xCell <> "" Then
            xTStr = xTStr & xCell & " "
        Else
            xSaveToRg.Value = xTStr
            Set xSaveToRg = xSaveToRg.Offset(1)
            xTStr = ""
        End If
    Next
    If xTStr <> "" Then xSaveToRg.Value = Left(xTStr, Len(xTStr) - 1)
    Application.ScreenUpdating = True
End Sub

3. Puis appuyez F5 clé pour exécuter ce code, et une boîte de dialogue s'affiche pour vous rappeler de sélectionner la plage de données que vous souhaitez concaténer, voir capture d'écran:

doc concaténer jusqu'à vide 10

4. Puis clique OK, et une autre boîte de dialogue apparaît, veuillez sélectionner une cellule pour afficher le résultat concaténé, voir capture d'écran:

doc concaténer jusqu'à vide 11

5. Et puis cliquez OK bouton, et les données de la liste des colonnes sont concaténées entre les blancs, voir capture d'écran:

doc concaténer jusqu'à vide 1


flèche bleue bulle droite Concaténer les valeurs des cellules jusqu'à ce qu'il trouve une cellule vide dans une colonne avec Kutools for Excel

Si vous avez Kutools for Excel, combinant ses Transformer la gamme et Combiner fonctionnalités, vous pouvez également terminer ce travail dès que possible. le Transformer la gamme L'utilitaire peut vous aider à convertir la colonne unique en plage, et le Combiner La fonction peut vous aider à concaténer la plage transformée en une colonne.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours. 

Après l'installation de Kutools for Excel, procédez comme suit:

1. Sélectionnez les cellules que vous souhaitez concaténer, puis cliquez sur Kutools > Catégorie > Transformer la gamme, voir capture d'écran:

2. Dans le Transformer la gamme boîte de dialogue, cochez Une seule colonne à la plage option sous la Type de transformation, Puis sélectionnez Une cellule vide délimite les enregistrements sous le Lignes par enregistrement, voir capture d'écran:

doc concaténer jusqu'à vide 3

3. Puis clique Ok, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner une cellule pour afficher le résultat, voir capture d'écran:

doc concaténer jusqu'à vide 4

4Cliquez sur OK, et les données d'une seule colonne ont été converties en plusieurs lignes et colonnes par la cellule vide, voir capture d'écran:

doc concaténer jusqu'à vide 5

5. Les données converties sont dans plusieurs colonnes, vous devez donc les combiner en une seule colonne, veuillez sélectionner la plage de données et cliquez sur Kutools > Fusionner et fractionner > Combinez des lignes, des colonnes ou des cellules sans perdre de données, voir capture d'écran:

6. Dans le Combiner des colonnes ou des lignes boîte de dialogue, effectuez les opérations suivantes:

(1.) Sélectionnez Combiner des colonnes Option de Pour combiner les cellules sélectionnées selon les options suivantes;

(2.) Spécifiez ensuite un séparateur que vous souhaitez séparer les valeurs concaténées;

(3.) Sélectionnez la manière dont vous souhaitez traiter les cellules combinées. Vous pouvez conserver ou supprimer les données d'origine et vous pouvez également fusionner les cellules combinées. Voir la capture d'écran:

doc concaténer jusqu'à vide 7

7. Après avoir terminé les réglages, cliquez sur Ok or Appliquer bouton, les cellules ont été concaténées dans une colonne avec un séparateur spécifique, voir capture d'écran:

doc concaténer jusqu'à vide 8

Téléchargez et essayez gratuitement Kutools for Excel Now!

Meilleurs outils de productivité bureautique

Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

onglet kte 201905


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I am using the VBA code, but instead of putting the data into separate rows, it is putting it all in a single cell. Does anyone have an idea why it is doing this?
This comment was minimized by the moderator on the site
Hi! After changing the values (ex, watermelon instead of apple) why is the formula not working?
This comment was minimized by the moderator on the site
Hello, Cristina

Our article provides VBA code, doesn't provide a formula. If you change the cell content, you must re-run the code again to get the correct result.
Thank you!
This comment was minimized by the moderator on the site
great job bro, Very useful
This comment was minimized by the moderator on the site
Hello,
You are welcome. Glad it helps. Any questions, please feel free to contact us. Have a great day.
Sincerely,
Mandy
This comment was minimized by the moderator on the site
It shows there's a syntax error on line 3 "Dim xRg As Range" when I'm trying to run this module based on method 1, what should I do about it?
This comment was minimized by the moderator on the site
Hello, JJ, The code works well in my worksheet, which Excel version do you use?Or you can insert a screesnhot of your problem here.
This comment was minimized by the moderator on the site
How would you do it if you want to base it off another column? I have similar data, but column B is a number then notes(like your fruit) in column I, I want to combine all notes in column I until there is another cell in Column B that has only number. Sometimes there are letter under B or the cells are blank which is why it needs to combine until a number. Then finally can it output back to where it started the combine? IE all notes for first number are in column j, but if the next number is 5 rows below that is fine, it just goes in column j but same row number as the number is found?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations