Hur passar jag automatiskt radhöjd för sammanslagna celler i Excel?
I Excel kan vi snabbt justera radhöjden så att den passar cellinnehållet med hjälp av Autopassa radhöjd funktionen, men den här funktionen ignorerar helt sammanslagna celler. Det vill säga att du inte kan tillämpa Autopassa radhöjd för att ändra storlek på radhöjd för sammanslagna celler, måste du manuellt justera radhöjden för sammanslagna celler en efter en. I den här artikeln kan jag presentera några snabba metoder för att lösa detta problem.
Automatisk anpassning av radhöjd för sammanslagna celler med VBA-kod
Automatisk anpassning av radhöjd för sammanslagna celler med VBA-kod
Antag att jag har ett kalkylblad med några sammanslagna celler som följande skärmdump visas, och nu måste jag ändra storlek på cellradhöjden för att visa hela innehållet, nedanstående VBA-kod kan hjälpa dig att automatiskt passa radhöjden för flera sammanslagna celler, snälla gör som följer:
1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic for Applications-fönstret.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Automatisk anpassning av radhöjd för flera sammanslagna cellerOption Explicit
Public Sub AutoFitAll()
Call AutoFitMergedCells(Range("a1:b2"))
Call AutoFitMergedCells(Range("c4:d6"))
Call AutoFitMergedCells(Range("e1:e3"))
End Sub
Public Sub AutoFitMergedCells(oRange As Range)
Dim tHeight As Integer
Dim iPtr As Integer
Dim oldWidth As Single
Dim oldZZWidth As Single
Dim newWidth As Single
Dim newHeight As Single
With Sheets("Sheet4")
oldWidth = 0
For iPtr = 1 To oRange.Columns.Count
oldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidth
Next iPtr
oldWidth = .Cells(1, oRange.Column).ColumnWidth + .Cells(1, oRange.Column + 1).ColumnWidth
oRange.MergeCells = False
newWidth = Len(.Cells(oRange.Row, oRange.Column).Value)
oldZZWidth = .Range("ZZ1").ColumnWidth
.Range("ZZ1") = Left(.Cells(oRange.Row, oRange.Column).Value, newWidth)
.Range("ZZ1").WrapText = True
.Columns("ZZ").ColumnWidth = oldWidth
.Rows("1").EntireRow.AutoFit
newHeight = .Rows("1").RowHeight / oRange.Rows.Count
.Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeight
oRange.MergeCells = True
oRange.WrapText = True
.Range("ZZ1").ClearContents
.Range("ZZ1").ColumnWidth = oldZZWidth
End With
End Sub
Anmärkningar:
(1.) I ovanstående kod kan du lägga till nya intervall bara kopiera Ring AutoFitMergedCells (Range ("a1: b2")) skript många gånger som du vill och ändra de sammanslagna cellområdena till dina behov.
(2.) Och du bör ändra det aktuella kalkylbladets namn Sheet4 till ditt använda arknamn.
3. Tryck sedan på F5 nyckel för att köra den här koden, och nu kan du se att alla de sammanslagna cellerna har anpassats automatiskt till deras cellinnehåll, se skärmdump:
Relaterad artikel:
Hur passar jag automatiskt kolumnbredd i Excel?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
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!