Jak automaticky přizpůsobit výšku řádku sloučených buněk v aplikaci Excel?
V aplikaci Excel můžeme rychle upravit výšku řádku podle obsahu buňky pomocí Přizpůsobit Výška řádku funkce, ale tato funkce zcela ignoruje sloučené buňky. To znamená, že nemůžete použít Přizpůsobit Výška řádku Chcete-li změnit velikost výšky sloučených buněk, musíte ručně upravit výšku řádku pro sloučené buňky jeden po druhém. V tomto článku mohu představit několik rychlých metod řešení tohoto problému.
Automatické přizpůsobení výšky řádku sloučených buněk kódem VBA
Automatické přizpůsobení výšky řádku sloučených buněk kódem VBA
Předpokládám, že mám list s některými sloučenými buňkami, jak ukazuje následující snímek obrazovky, a teď potřebuji změnit velikost výšky řádku buňky, abych zobrazil celý obsah, níže uvedený kód VBA vám může pomoci automaticky přizpůsobit výšku řádku více sloučených buněk, prosím jak následuje:
1. Podržte ALT + F11 klíče a otevře se Okno Microsoft Visual Basic pro aplikace.
2, klikněte Vložit > Modula vložte následující kód do Okno modulu.
Kód VBA: Automatické přizpůsobení výšky řádku více sloučených buněkOption 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
Poznámky:
(1.) Ve výše uvedeném kódu můžete přidat nové rozsahy pouze zkopírovat Volání AutoFitMergedCells (Range ("a1: b2")) skriptujte, kolikrát chcete, a změňte sloučené rozsahy buněk podle svých potřeb.
(2.) A měli byste změnit název aktuálního listu Sheet4 na použitý název listu.
3. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a nyní můžete vidět, že všechny sloučené buňky byly automaticky přizpůsobeny jejich obsahu, viz screenshot:
Související článek:
Jak automaticky přizpůsobit šířku sloupce v aplikaci Excel?
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!