View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Sizing row height automatically

Autosize doesn't work for merged cells.

You can adapt this code previously posted by Jim Rech:

Jim Rech

Sub AutoFitMergedCellRowHeight()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
CurrentRowHeight = .RowHeight
ActiveCellWidth = ActiveCell.ColumnWidth
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth + _
MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End Sub

--
Regards,
Tom Ogilvy

"Stewart Allen" wrote in message
...
I'm trying to automatically resize the row height after merging cells in a
row and wrapping the text. Is there a way to do this.

My code so far is:
ActiveSheet.Range(.Cells(3, 2), .Cells(3, 5)).MergeCells = True
ActiveSheet.Cells(3, 2).WrapText = True

The data being inserted into this range is being pulled from an Access

text
field so I need the row height to automatically adjust depending on how

much
data is extracted. If I don't merge the cells the row will automatically
adjust its height but won't if they are merged.

Stewart