Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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 de cellule jusqu'à ce que if 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.

2. Cliquez 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 de cellule jusqu'à ce que if trouve une cellule vide dans une colonne avec Kutools for Excel

Si vous avez Kutools pour 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 pour Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours. 

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

1. Sélectionnez les cellules que vous souhaitez concaténer, puis cliquez sur Kutools > Autonomie > 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

4. Cliquez 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!


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    JJ · 1 years ago
    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?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Crystal · 4 years ago
    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?