• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

automatisch rijhoogte 'optimaliseren'

Status
Niet open voor verdere reacties.

RoCompy87

Gebruiker
Lid geworden
13 nov 2006
Berichten
284
Hallo,

Een kort vraagje... Is het mogelijk om met een macro de rijhoogte automatisch te 'optimaliseren', zodanig dat alle tekst zichtbaar is? Ik heb namelijk een aantal cellen met tekstterugloop, maar ik zou graag willen dat deze met behulp van een macro hoger gemaakt kunnen worden als dat nodig is om de volledige tekst weer te geven.

Alvast bedankt!:)
 
Hallo,

Een korte vraag en dus ook een kort antwoord. ;):D

Code:
Sub RegelsZichtbaar()
Rows.AutoFit
End Sub

Alle regels op het werkblad worden geheel zichtbaar.

Met vriendelijke groet,


Roncancio
 
Haha, thnx voor je reactie :D

Het werkt alleen niet op samengevoegde cellen. Is daar nog iets mee mogelijk? :)
 
Haha, thnx voor je reactie :D

Het werkt alleen niet op samengevoegde cellen. Is daar nog iets mee mogelijk? :)

Op internet vond ik verscheidene codes hiervoor.
Hier is er 1 van:

Code:
' Merges a cell range, wraps text and auto-fits the row height.
Public Sub MergeAndFit(ByVal r As Range)
   ' Because the Row.AutoFit method ignores merged cells, we temporarily expand the first column of
   ' the cell range to the width of the whole cell range and call AutoFit with the un-merged cell.
   Dim Row As Range: Set Row = r.Rows(1)
   Dim Column1 As Range: Set Column1 = r.Columns(1)
   Dim RangeWidth: RangeWidth = r.Width
   Dim OldColumn1Width: OldColumn1Width = Column1.ColumnWidth
   Dim i As Integer
   For i = 1 To 3                     ' approximation of Column1.ColumnWidth in 3 steps
      Column1.ColumnWidth = RangeWidth / Column1.Width * Column1.ColumnWidth
      Next
   r.WrapText = True
   r.MergeCells = False
   Dim OldRowHeight: OldRowHeight = Row.RowHeight
   Row.AutoFit
   Dim FitRowHeight: FitRowHeight = Row.RowHeight
   r.MergeCells = True
   Column1.ColumnWidth = OldColumn1Width
   Row.RowHeight = IIf(FitRowHeight > OldRowHeight, FitRowHeight, OldRowHeight)
   End Sub

Met vriendelijke groet,


Roncancio
 
Ik heb nog een aanvullend vraagje wat betreft deze macro:

ik heb vooral het probleem met kolommen die te smal blijken te zijn als je grote getalllen invoer.
hoe wordt je macro dat als je kolom te smal blijkt te zijn dat deze automatisch verbreedt wordt. en dan bedoel ik zonder dat je op een knop hoeft te klikken om je macro af te spelen. Dus een autoplay macro of iets dergelijks.

alvast bedankt.
 
Als ik de macro MergeAndFit in VBA plak dan zie ik hem niet in de lijst met macro's om hem uit te voeren... Weet iemand waar dat aan zou kunnen liggen?
 
Je moet dan in een andere procedure de procedure MergeAndFit aanroepen, met een range die opgeeft waarop het mergen en autofitten van toepassing moet zijn. Gebruik Call voor het aanroepen.
 
Ik ga het zo eens proberen, bedankt alvast :thumb:
 
Laatst bewerkt:
Is het ook mogelijk om in plaats van voor verschillende ranges de macro aanroepen, voor alle samengevoegde cellen de macro aanroepen?

Als ik namelijk een bepaald bereik kopieer naar een ander gebied op het werkblad (mbv een macro), dan wordt op dat andere gebied weer de standaardrijhoogte toegepast.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan