Note: The other languages of the website are Google-translated. Back to English

Hoe snel aangrenzende rijen met dezelfde gegevens samenvoegen in Excel?

Stel dat u een werkblad heeft met dezelfde gegevens in de aangrenzende rijen, en u wilt nu dezelfde cellen samenvoegen tot één cel, zodat de gegevens er netjes en mooi uitzien. Hoe voeg je aangrenzende rijen met dezelfde gegevens snel en gemakkelijk samen? Vandaag zal ik u een snelle manier voorstellen om dit probleem op te lossen.


Voeg aangrenzende rijen met dezelfde gegevens samen met VBA-code

Natuurlijk kunt u dezelfde gegevens samenvoegen met Samenvoegen en centreren commando, maar als er honderden cellen moeten worden samengevoegd, zal deze methode tijdrovend zijn. Dus de volgende VBA-code kan u helpen dezelfde gegevens eenvoudig samen te voegen.

1. Houd de ALT + F11 toetsen, en het opent de Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende macro in het Modulevenster.

Sub MergeSameCell()
'Updateby Extendoffice
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
    For i = 1 To xRows - 1
        For j = i + 1 To xRows
            If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
                Exit For
            End If
        Next
        WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
        i = j - 1
    Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

3. Druk vervolgens op F5 toets om deze code uit te voeren, wordt een dialoogvenster op het scherm weergegeven waarin u een bereik kunt selecteren om mee te werken. Zie screenshot:

doc dezelfde cellen samenvoegen 2

4. Dan klikken OK, worden dezelfde gegevens in kolom A samengevoegd. Zie screenshot:

doc dezelfde cellen samenvoegen 1


Voeg aangrenzende rijen met dezelfde gegevens samen met Kutools voor Excel

Met de Voeg dezelfde cellen samen nut van Kutools for Excel, kunt u snel dezelfde waarden in meerdere kolommen samenvoegen met één klik.

Kutools for Excel : met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. 

Na het installeren van Kutools for Excelkunt u het volgende doen:

1. Selecteer de kolommen waarmee u de aangrenzende rijen met dezelfde gegevens wilt samenvoegen.

2. Klikken Kutools > Samenvoegen en splitsen > Voeg dezelfde cellen samen, zie screenshot:

3. En dan zijn dezelfde gegevens in de geselecteerde kolommen samengevoegd in één cel. Zie screenshot:

doc dezelfde cellen samenvoegen 4

Klik om Kutools voor Excel en nu gratis uit te proberen!

Bezoek dit voor meer informatie hierover Voeg dezelfde cellen samen kenmerk.


Demo: voeg dezelfde cellen samen in één cel of maak de samenvoeging ongedaan om dubbele waarden te vullen:

Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. Download en probeer nu gratis!

De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
officetab onderkant
Comments (40)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hoe repliceer ik de VBA-macro om aangrenzende cellen in kolommen samen te voegen in plaats van rijen? Bedankt
Violeta
Deze opmerking is gemaakt door de moderator op de site
Violeta, ik dupliceer de rij (hieronder). bv bv probeer probeer bv bv probeer probeer En verander de code in dit: Next WorkRng.Parent.Range(Rng.Cells(1, i), Rng.Cells(1, j - 1)).Merge i = j - 1 It de rij hierboven samengevoegd tot "eg" en "try"
rafael
Deze opmerking is gemaakt door de moderator op de site
voor iedereen die dit nog steeds probeert te bereiken, ik denk dat ik het heb Begin van de code ******************************* ***** Sub MergeSameCell() 'Updateby20131127 Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "MergeSimilar" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Bereik", xTitleId, WorkRng.Address , Type:=8) Application.ScreenUpdating = False Application.DisplayAlerts = False 'xRows = WorkRng.Rows.Count xCols = WorkRng.Columns.Count 'For Each Rng In WorkRng.Columns ' For i = 1 To xRows - 1 ' For j = i + 1 To xRows ' If Rng.Cells(i, 1).Value Rng.Cells(j, 1).Value Then ' Exit For ' End If ' Next ' WorkRng.Parent.Range(Rng.Cells(i , 1), Rng.Cells(j - 1, 1)).Samenvoegen ' i = j - 1 ' Volgende 'Volgende voor elke Rng In WorkRng.Rows For i = 1 to xCols - 1 For j = i + 1 to xCols If Rng.Cells(1, i).Value Rng.Cells(1, j).Waarde Dan afsluiten voor einde If Next WorkRng.Parent.Range(Rng.Cells(1, i), Rng.Cells(1, j - 1)).Samenvoegen i = j - 1 Volgende Volgende Toepassing.DisplayAlerts = True Appl ication.ScreenUpdating = True End Sub ************************************ Einde van code IE Gewoon wijzigen de code om rijverwijzingen om te wisselen voor kolomverwijzingen
James
Deze opmerking is gemaakt door de moderator op de site
Hartelijk bedankt!!! hielp me in een cruciale tijd
Siva
Deze opmerking is gemaakt door de moderator op de site
Dit is al zo vaak nuttig voor me geweest :) Heel erg bedankt, het heeft me veel tijd bespaard. Ik heb een klein verzoek. Ik probeer de manier te vinden om dezelfde samenvoeging uit te voeren, maar als er lege cellen onder elke waarde zijn, om elke cel samen te voegen met alle lege cellen eronder. Hoe kan ik de macro wijzigen? Dank u bij voorbaat
Hector
Deze opmerking is gemaakt door de moderator op de site
Probeer deze code Sub MergeSameCell() Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:= 8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count For Each Rng In WorkRng.Columns For i = 1 To xRows - 1 For j = i + 1 To xRows If Rng.Cells(i, 1 ).Waarde Rng.Cells(j, 1).Waarde Dan Afsluiten voor Einde Indien volgende Indien niet IsEmpty(Rng.Cells(i, 1).Value) Of niet IsEmpty(Rng.Cells(j - 1, 1).Waarde ) Dan WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Samenvoegen End If i = j - 1 Volgende Volgende Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
A.Afifi
Deze opmerking is gemaakt door de moderator op de site
probeer deze code Sub MergeSameCell() Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type:= 8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count For Each Rng In WorkRng.Columns For i = 1 To xRows - 1 For j = i + 1 To xRows If Rng.Cells(i, 1 ).Waarde Rng.Cells(j, 1).Waarde Dan Afsluiten voor Einde Indien volgende Indien niet IsEmpty(Rng.Cells(i, 1).Value) Of niet IsEmpty(Rng.Cells(j - 1, 1).Waarde ) Dan WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Samenvoegen End If i = j - 1 Volgende Volgende Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
A.Afifi
Deze opmerking is gemaakt door de moderator op de site
Als ik dezelfde naam heb liggen Raju 1000 Raju 2000 Monu 100 Monu 200 Hoe kan ik dan een margenaam doen met het bedrag
cp
Deze opmerking is gemaakt door de moderator op de site
Hallo bij het uitvoeren van deze macro krijg ik de "Application-defined or object-defined error" op de regel WorkRng.Parent.Range(rng.Cells(i, 1), rng.Cells(j - 1, 1)).Merge Any ideeën hoe dat op te lossen? Met vriendelijke groet, Michal
Michael
Deze opmerking is gemaakt door de moderator op de site
Ik krijg dezelfde fout. ben je daar al achter? als je het doet, hoe is het met je gegaan? Met dank
Neo
Deze opmerking is gemaakt door de moderator op de site
Ik krijg dezelfde fout
tik
Deze opmerking is gemaakt door de moderator op de site
Ik laat hier het script gewijzigd zodat het onderstaande cellen zal samenvoegen met dezelfde waarde of met een lege cel: Sub MergeSameCell() 'Updateby20131127 Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count voor elke Rng in WorkRng.Columns For i = 1 Naar xRows - 1 For j = i + 1 Naar xRows If Rng.Cells(j, 1).Value "" Dan If Rng.Cells(i, 1).Value Rng.Cells(j, 1).Waarde Dan afsluiten voor End If End If Next WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Samenvoegen i = j - 1 Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True Einde sub
Hector Oses
Deze opmerking is gemaakt door de moderator op de site
Hallo, help alstublieft. Ik heb een probleem met de code, met deze regel. Is er iets mis? Als Rng.Cells(j, 1).Waarde "" Dan
Jimmy
Deze opmerking is gemaakt door de moderator op de site
Hallo daar. Je zou moeten hebben: if Rng.Cells(j, 1).Value = "" dan...
ZoonGokussj4
Deze opmerking is gemaakt door de moderator op de site
Samenvoegen leuk. Maar het vereist het specificeren van het bereik tijdens het uitvoeren van de code. Ik wil het bereik specificeren, dwz B1: B50 in de vba-code. En de uitlijning linksboven maken, maar help alstublieft.
hasan
Deze opmerking is gemaakt door de moderator op de site
Tijdens het uitvoeren van de bovenstaande code wordt vervolgens de compileerfout weergegeven: syntaxisfout. In de regel waar "" wordt gebruikt en de onderste regel hiervan.
hasan
Deze opmerking is gemaakt door de moderator op de site
Ook ik heb dit probleem met deze lijn. Als Rng.Cells(j, 1).Value "" Dan kan iemand helpen?
Jimmy
Deze opmerking is gemaakt door de moderator op de site
hallo, Hoe kan ik automatisch bereik instellen zonder gebruikersinvoer?
Debdatta DEY
Deze opmerking is gemaakt door de moderator op de site
Het spijt me, maar ik heb iemand anders om het script voor me te doen, ik heb geen kennis om je te helpen met de wijzigingen.
Hector Oses
Deze opmerking is gemaakt door de moderator op de site
Hoi meneer, . Ik probeer de vba-code, maar het werkt niet. Foutmelding voor.408. Vooral dat de opmerking WorkRng.Parent. Bereik (rng.Cellen (i, 1), rng.Cellen (j - 1, 1)). Samenvoegen. Stuur de oplossing. Ik besteed veel tijd aan het samenvoegen van de documenten. Ik ben meestal samengevoegd dit formaat van cellen C20059290. Bedankt en groeten Purusothaman. C
PURUSOTHAMAN
Deze opmerking is gemaakt door de moderator op de site
Geachte heer, . Ik gebruik vba-code voor Excel-blad voor samenvoegcellen. Het werkte niet kwam voor 408 fout. Vooral deze code WorkRng.Parent. Bereik (rng.Cellen (i, 1), rng.Cellen (j - 1, 1)). Samenvoegen. Geef de oplossing. Bedankt en groeten Purusothaman
PURUSOTHAMAN
Deze opmerking is gemaakt door de moderator op de site
Hallo, kan iemand instrueren met reverse engineering - cellen demargineren met dezelfde waarde voor iedereen.
Tharaka
Deze opmerking is gemaakt door de moderator op de site
Hallo, De makro werkt, maar als ik nu op kolom A wil filteren, wordt alleen de eerste informatie uit kolom B die van toepassing is op kolom A gezien. Als ik naar het voorbeeld in de makro kijk, als ik op maandag wil filteren nadat de samenvoeging is voltooid, wordt alleen Nicol weergegeven en wordt er geen informatie van Lucy en Lily weergegeven. Is er een regel die ik kan toevoegen om dit te voorkomen?
Xandre
Deze opmerking is gemaakt door de moderator op de site
als je echt wilt filteren, zal het samenvoegen van de cellen je niet helpen.
straf
Deze opmerking is gemaakt door de moderator op de site
In EXCEL INPUT NAME PRO1 PRO2 PRO3 A B C output A PRO1 A PRO2 A PRO3 B PRO1 B PRO2 B PRO3 C PRO1 C PRO2 C PRO3
SUMAN PAUL
Deze opmerking is gemaakt door de moderator op de site
Dit was erg nuttig en heeft mijn tijd in grotere mate bespaard
anjana anand enginee
Deze opmerking is gemaakt door de moderator op de site
Kan de VBA-code worden gewijzigd om hetzelfde te bereiken voor het samenvoegen van kolommen (in tegenstelling tot rijen naar beneden, zoals hierboven) en vervolgens voor alle rijen herhalen?
Joel
Deze opmerking is gemaakt door de moderator op de site
Gebruik de bovenstaande code en transponeer vervolgens het resultaat
straf
Deze opmerking is gemaakt door de moderator op de site
Erg behulpzaam !! Hartelijk bedankt
Priya Mohan
Deze opmerking is gemaakt door de moderator op de site
Oh maat, je redt veel van mijn dagen. Dank u!!!!
Anom Harya
Deze opmerking is gemaakt door de moderator op de site
In de bovenstaande VBA-coderegelnummer 19 "i=j-1"
hoe gaat het onze logica eigenlijk beïnvloeden? Ik heb dat verwijderd en kon nog steeds hetzelfde resultaat krijgen!
Een specifiek doel waarom het aanwezig is?
Kaushik Vankayala
Deze opmerking is gemaakt door de moderator op de site
Het is om de waarde i te beperken tot de laatste rij.
Negeer dit bericht aub!
Kaushik Vankayala
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties