Autotilpas højde på flettede celler
Jeg fandt denne fra spørgsmål http://www.eksperten.dk/spm/777625Sub AutoFitMergedCellRowHeight(Selle As String)
Dim iCurrentRowHeight As Single
Dim iMergedCellRgWidth As Single
Dim iActiveCellWidth As Single
Dim iPossNewRowHeight As Single
Dim rCurCell As Range
Range(Selle).Select
With ActiveCell.MergeArea
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
.EntireRow.AutoFit
iCurrentRowHeight = .RowHeight
iActiveCellWidth = ActiveCell.ColumnWidth
For Each rCurCell In Selection
iMergedCellRgWidth = rCurCell.ColumnWidth + iMergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = iMergedCellRgWidth
.EntireRow.AutoFit
iPossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = iActiveCellWidth
.MergeCells = True
.RowHeight = IIf(iCurrentRowHeight > iPossNewRowHeight, _
iCurrentRowHeight, iPossNewRowHeight)
End If
End With
Set rCurCell = Nothing
End Sub
Public Sub Tilpas()
For Each Selle In Range("C3:C45")
If Selle.MergeCells Then
AutoFitMergedCellRowHeight Selle.Address
End If
Next
End Sub
Mine spørgsmål er:
1. Kan man ikke i makroen "tilpas" få den til at søge til sidste anvendte linie i stedet for at skulle specificere. (eks. med ActiveCell.SpecialCells(xlLastCell).Row)
2. Denne makro gør for engang skyld hvad der indtil videre ikke har virket på andre jeg har fundet. Den kan nemlig også formindske rækkehøjden igen når celleteksten fylder mindre end hidtil.
De fleste flettede celler kan den autotilpasse rækkehøjden på, men nogle er der er række for meget ? Jeg ved der kan være forskel på nogle celler om hvordan de ser ud på skærmen og hvordan de ser ud når man printer. Derfor kan det være nødvendigt med en ekstra række på skærmen (så passer det ved udprint). Men lige præcis disse celler passer fint ved både udskriv og på skærmen, men alligevel lader makroen en ekstra/tom række være...Hvorfor
