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

Hvordan flettes hurtigt tilstødende rækker med samme data i Excel?

Antag at du har et regneark med samme data i de tilstødende rækker, og nu vil du flette de samme celler i en celle, så dataene ser pæne og smukke ud. Hvordan fletter du tilstødende rækker med samme data hurtigt og bekvemt? I dag vil jeg introducere dig til en hurtig måde at løse dette problem på.


Flet tilstødende rækker med samme data med VBA-kode

Selvfølgelig kan du flette de samme data med Flet & Center kommando, men hvis der er hundreder af celler, der skal flettes, vil denne metode være tidskrævende. Så følgende VBA-kode kan hjælpe dig med at flette de samme data let.

1. Hold nede ALT + F11 tasterne, og det åbner Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende makro i Modulervindue.

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. Tryk derefter på F5 for at køre denne kode, vises en dialogboks på skærmen, hvor du kan vælge et område, du vil arbejde med. Se skærmbillede:

doc flet de samme celler 2

4. Klik derefter på OKvil de samme data i kolonne A blive flettet sammen. Se skærmbillede:

doc flet de samme celler 1


Flet tilstødende rækker med samme data med Kutools til Excel

Med Flet de samme celler nytte af Kutools til Excel, kan du hurtigt flette de samme værdier i flere kolonner med et enkelt klik.

Kutools til Excel : med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. 

Efter installation Kutools til Excel, kan du gøre som følger:

1. Vælg de kolonner, som du vil flette de tilstødende rækker med de samme data.

2. Klik Kutools > Flet og del > Flet de samme celler, se skærmbillede:

3. Og så er de samme data i de valgte kolonner flettet i en celle. Se skærmbillede:

doc flet de samme celler 4

Klik for at downloade Kutools til Excel og gratis prøveversion nu!

Hvis du vil vide mere om dette, kan du besøge dette Flet de samme celler funktion.


Demo: Flet de samme celler i en celle eller flet dem ud for at udfylde duplikatværdier:

Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!

De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (43)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan replikerer jeg VBA-makroen for at flette tilstødende celler i kolonner i stedet for rækker? Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Violeta, jeg duplikerer rækken (nedenfor). f.eks. prøv pr. f.eks. pr. pr. og ændr koden til dette: Next WorkRng.Parent.Range(Rng.Cells(1, i), Rng.Cells(1, j - 1)).Merge i = j - 1 It flettede rækken ovenfor til "eg" og "prøv"
Denne kommentar blev minimeret af moderatoren på webstedet
for alle, der stadig forsøger at opnå dette, tror jeg, jeg har fået det Start af kode ********************************* ***** Sub MergeSameCell() 'Updateby20131127 Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "MergeSimilar" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address , Type:=8) Application.ScreenUpdating = False Application.DisplayAlerts = False 'xRows = WorkRng.Rows.Count xCols = WorkRng.Columns.Count 'For Every Rng In WorkRng.Columns ' For i = 1 Til 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 For Every 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).Value Then Exit For End If Next WorkRng.Parent.Range(Rng.Cells(1, i), Rng.Cells(1, j - 1)).Merge i = j - 1 Næste Næste Application.DisplayAlerts = True Appl ication.ScreenUpdating = True End Sub ************************************** End of Code IE Du skal blot ændre koden til at udskifte eventuelle rækkereferencer med kolonnereferencer
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak!!! hjalp mig i en afgørende tid
Denne kommentar blev minimeret af moderatoren på webstedet
Dette har været nyttigt for mig så mange gange :) Mange tak, det sparede mig for en masse arbejdstid. Jeg har en lille anmodning. Jeg forsøger at finde måden at gøre den samme fletning, men når der er tomme celler under hver værdi, for at flette hver celle med alle tomme celler nedenfor. Hvordan kan jeg ændre makroen? Tak på forhånd
Denne kommentar blev minimeret af moderatoren på webstedet
Prøv denne kode 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 = Falsk Application.DisplayAlerts = False xRows = WorkRng.Rows.Count For Every 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 If Not IsEmpty(Rng.Cells(i, 1).Value) Or Not IsEmpty(Rng.Cells(j - 1, 1).Value ) Så WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge End If i = j - 1 Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
prøv denne kode 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 = Falsk Application.DisplayAlerts = False xRows = WorkRng.Rows.Count For Every 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 If Not IsEmpty(Rng.Cells(i, 1).Value) Or Not IsEmpty(Rng.Cells(j - 1, 1).Value ) Så WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge End If i = j - 1 Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hvis jeg har samme navn lie Raju 1000 Raju 2000 Monu 100 Monu 200 Hvordan kan jeg så lave marge navn med beløb
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, når jeg kører denne makro, får jeg "Applikationsdefineret eller objektdefineret fejl" på linjen WorkRng.Parent.Range(rng.Cells(i, 1), rng.Cells(j - 1, 1)).Merge Any ideer til hvordan man fikser det? Med venlig hilsen Michal
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg får samme fejl. har du fundet ud af det endnu? hvis du gør, hvordan gjorde du det? tak
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg får samme fejl
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg efterlader her scriptet ændret, så det vil flette celler nedenfor med den samme værdi eller med tom celle: Sub MergeSameCell() 'Updateby20131127 Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Indstil WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count For Every Rng In WorkRng.Columns For i = 1 Til xRows - 1 For j = i + 1 To xRows If Rng.Cells(j, 1).Value "" Then If Rng.Cells(i, 1).Value Rng.Cells(j, 1).Value Then Exit For End If 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 Slut Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej hjælp venligst. Jeg har et problem med koden med denne linje. Noget galt? Hvis Rng.Cells(j, 1).Værdi "" Så
Denne kommentar blev minimeret af moderatoren på webstedet
Hej. Du skal have: hvis Rng.Cells(j, 1).Value = "" så...
Denne kommentar blev minimeret af moderatoren på webstedet
Smukt sammen. Men det kræver at man angiver området, mens man kører koden. Jeg ønsker at specificere området, dvs. B1:B50 i vba-koden. Og gør det øverst til venstre, men hvordan kan du hjælpe.
Denne kommentar blev minimeret af moderatoren på webstedet
Mens du kører ovenstående kode, så viser kompileringsfejl: syntaksfejl. I linjen hvor "" bruges og nederste linje af dette.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg støder også på dette problem med denne linje. Hvis Rng.Cells(j, 1).Værdi "" Så kan nogen hjælpe?
Denne kommentar blev minimeret af moderatoren på webstedet
hej, Hvordan kan jeg sætte rækkevidde automatisk uden brugerinput
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg beklager, men jeg har fået en anden til at lave scriptet for mig, jeg har ingen viden til at hjælpe dig med ændringerne.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej hr, . Jeg prøver vba-koden, men den virker ikke. Fejlmeddelelse for.408. Især at kommentaren WorkRng.Parent. Range(rng.Cells (i, 1), rng.Cells(j - 1, 1)).Flet. Send venligst løsningen. Jeg bruger meget tid på at flette dokumenterne. Jeg er for det meste flettet dette format af celler C20059290. Tak og hilsen Purusothaman. C
Denne kommentar blev minimeret af moderatoren på webstedet
Kære hr, . Jeg bruger vba-kode til excel-ark til fletteceller. Det virker ikke kom for 408 fejl. Især denne kode WorkRng.Parent. Range(rng.Cells (i, 1), rng.Cells(j - 1, 1)).Flet. Giv løsningen. Tak og hilsen Purusothaman
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Kan nogen instruere med reverse engineering - demarging celler med udfylde samme værdi for alle.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Makroen virker, men når jeg nu vil filtrere på kolonne A, ses kun den første information fra kolonne B gældende for kolonne A. Ser man på eksemplet givet i makroen, hvis jeg ønsker at filtrere på mandag efter sammenfletningen er udført, vil kun Nicol blive vist, og ingen info fra Lucy og Lily vises. Er der en linje, jeg kan tilføje for at undgå dette?
Denne kommentar blev minimeret af moderatoren på webstedet
Hvis du virkelig vil filtrere, vil det ikke hjælpe dig at fusionere cellerne.
Denne kommentar blev minimeret af moderatoren på webstedet
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
Denne kommentar blev minimeret af moderatoren på webstedet
Dette var virkelig nyttigt og har sparet min tid i højere grad
Denne kommentar blev minimeret af moderatoren på webstedet
Kan VBA-koden ændres for at opnå det samme for fletning på tværs af kolonner (i modsætning til nedadgående rækker som ovenfor) og derefter gentage for alle rækker?
Denne kommentar blev minimeret af moderatoren på webstedet
Brug ovenstående kode og transponer derefter resultatet
Denne kommentar blev minimeret af moderatoren på webstedet
Meget hjælpsom !! Mange tak
Denne kommentar blev minimeret af moderatoren på webstedet
Åh makker, du redder mange af mine dage. Tak skal du have!!!!
Denne kommentar blev minimeret af moderatoren på webstedet
I ovenstående VBA-kodelinje nummer 19 "i=j-1 "
hvordan vil det alligevel påvirke vores logik? Jeg fjernede det og kunne stadig få det samme resultat!
Noget specifikt formål, hvorfor det er til stede?
Denne kommentar blev minimeret af moderatoren på webstedet
Det er for at begrænse værdien i til sidste række.
Se venligst bort fra dette indlæg!
Der er endnu ingen kommentarer her
Load More

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL