Avatar billede mira96ac Novice
27. september 2007 - 21:33 Der er 3 kommentarer og
1 løsning

Autotilpas højde på flettede celler

Jeg fandt denne fra spørgsmål http://www.eksperten.dk/spm/777625

Sub 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
Avatar billede kabbak Professor
27. september 2007 - 22:25 #1
1.
Public Sub Tilpas()
Range("A1").Select' Ret A1 til den celle den skal starte fra, gælder også i række 3
RW = ActiveCell.SpecialCells(xlLastCell).Row)
    For Each Selle In Range("A3:A" & RW)

        If Selle.MergeCells Then
            AutoFitMergedCellRowHeight Selle.Address
        End If
    Next
End Sub
Avatar billede kabbak Professor
27. september 2007 - 22:26 #2
2.
kan jeg ikke svare på
Avatar billede mira96ac Novice
28. september 2007 - 08:18 #3
Takker kabbak

Jeg venter lige og ser om der er nogle som kan svaret på spørgsmål 2.

Du skal nok få points :-)
Avatar billede mira96ac Novice
02. december 2007 - 22:59 #4
Lukker spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester