Hur slår man automatiskt samman tomma celler ovan / vänster i Excel?
I den här artikeln kommer jag att prata om att slå samman tomma celler ovanför eller vänster automatiskt enligt nedanstående skärmdump. Egentligen finns det inget inbyggt verktyg som kan hantera denna uppgift, men makrokoderna kan.
Slå samman ämnen ovan | ||
![]() |
![]() |
![]() |
Slå samman tomma ämnen kvar | ||
![]() |
![]() |
![]() |
Slå samman tomma celler ovan baserat på en kolumn
Slå samman tomma celler ovan (fungerar bara för enstaka kolumner)
Slå samman tomma celler ovan baserat på en kolumn
Antag att det finns ett antal data i tre kolumner, och nu vill du slå samman data ovan baserat på kolumn C.
1. Tryck Alt + F11 keys för att aktivera Microsoft Visual Basic för applikationer och klicka Insert > Modulerna. Se skärmdump:
2. Klistra sedan in koden under det tomma skriptet. Se skärmdump:
VBA: Sammanfoga tomt ovan baserat på nästa kolumn
Sub MergeCells()
'UpdatebyExtendoffice2017025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then
Range(xCell, xCell.Offset(-1, 0)).Merge
End If
Next
End Sub
3. Tryck F5 för att köra koden, och sedan dyker en dialog upp för att påminna dig om att välja ett intervall som ska fungera. Se skärmdump:
4. klick OK, sedan har de tomma cellerna slås samman ovan. Se skärmdump:
Slå samman tomma celler ovan (fungerar bara för enstaka kolumner)
Här är en makrokod som kan slå samman de tomma cellerna ovan i den angivna kolumnen.
1. Tryck Alt + F11 för att aktivera Microsoft Visual Basic för applikationer och klicka Insert > Modulerna. Se skärmdump:
2. Klistra in koden i skriptet. Se skärmdump:
VBA: Slå samman tomma celler ovan
Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
Dim I As Long
Dim xRow As Long
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range (single column):", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "Only work for single column", , "KuTools For Excel"
Exit Sub
End If
xRow = xRg.Rows.Count
Set xRg = xRg(xRow)
For I = xRow To 1 Step -1
Set xCell = xRg.Offset(I - xRow, 0)
Debug.Print xCell.Address
If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge
Next
End Sub
3. Tryck F5 för att köra koden och en dialogruta dyker upp för dig att välja ett kolumnintervall. Se skärmdump:
4. Klicka på OK. Och de tomma cellerna i urvalet har slagits samman ovan.
![]() |
![]() |
![]() |
Slå samman tomma celler kvar
Om du vill slå samman tomma celler kvar kan följande kod göra dig en tjänst.
1. Tryck Alt + F11 för att aktivera Microsoft Visual Basic för applikationsfönstret och klicka på Insert > Modulerna. Se skärmdump:
2. Klistra sedan in koden under det tomma skriptet. Se skärmdump:
VBA: Sammanfoga blanksteg till vänster
Sub mergeblankswithleft()
'UpdatebyExtendoffice20171025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge
Next
End Sub
3. Tryck F5 för att köra koden och en dialogruta dyker upp för att du ska kunna välja ett intervall. Se skärmdump:
4. klick OK. De tomma cellerna har sammanfogats till vänster.
Slå samman tomma ämnen kvar | ||
![]() |
![]() |
![]() |
Slå ihop samma celler eller slå samman celler
|
De bästa Office-produktivitetsverktygen
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
- återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
- Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
- Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
- Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
- Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
- Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
- Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
- Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
- Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
