View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.misc
elfmajesty
 
Posts: n/a
Default Autofit with Merged Cells/Wrap Text Macro Problem

One more question:
Do I have to select each cell individually and run the macro on each cell?
Is there no way to check the sheet all at once and run it for ANY merged/wrap
text cells?

Thanks in advance.
Elf

"elfmajesty" wrote:

Hello,

I've attempted to utilize the frequently posted macro that Jim Rech wrote to
assist in this problem that all of us seem to run into at one point or
another. However, I keep getting a compile syntax error directing me to the
13th line of the macro.(MergedCellRgWidth = CurrCell.ColumnWidth +)

I have inserted this macro as a Module. Do I need to select the rows I need
done? Can anyone assist and where I may be going wrong?

Here's the full Module as I've inserted it:

Sub AutoFitMergedCellRowHeight()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range, RangeWidth As Single
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
RangeWidth = .Width
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth +
MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
While .Cells(1).Width < RangeWidth
.Cells(1).ColumnWidth = .Cells(1).ColumnWidth + 0.5
Wend
.Cells(1).ColumnWidth = .Cells(1).ColumnWidth - 0.5
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End Sub