• 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.

Rijhoogte autoaanpassen met minimumwaarde 50

Status
Niet open voor verdere reacties.

Abco_B

Gebruiker
Lid geworden
6 apr 2006
Berichten
122
De standaardhoogte voor de rijen in mijn bestand is 50.
Als een rij meer tekst bevat, wil ik de hoogte groter maken, door autoaanpassen toe te passen.
Mijn vraag:
Hoe kan ik van onderstaande makro's één makro maken die e.e.a. uitvoert ?

Sub Rijhoogte_50()
Application.ScreenUpdating = False
Selection.RowHeight = 50
End Sub

Sub Rijhoogte_autoaanpassen()
Application.ScreenUpdating = False
Selection.EntireRow.AutoFit
End Sub
 
Probeer dit:

Sub Rijhoogte_50()
Selection.RowHeight = 50
selection.WrapText = True
End Sub

De screenupdating uitzetten (als je dat doet moet je die later wel terug aanzetten anders zie je geen effect) biedt in deze macro nauwelijks voordeel, lijkt mij. Maar als je de hoogte wil aanpassen, dan moet je terugloop inschakelen, anders heeft aanpassen van de hoogte geen nut. Autofit kan wl, maar hoeft niet (denk ik).

franç
 
Beste Franç,

Jouw makro zet alle rijhoogtes op 50.
Ik wil alle rijhoogtes op 50, behalve die waar de tekst er niet in past en die rijen wil ik autoaanpassen.

Abco
 
Hierbij de oplossing:

Sub Rijhoogte_aanpassen()

Selection.EntireRow.AutoFit

Dim z As Range
For Each z In ActiveWindow.RangeSelection
If z.RowHeight < 50 Then z.RowHeight = 50
Next

End Sub
 
Als een rij meer tekst bevat, wil ik de hoogte groter maken, door autoaanpassen toe te passen.
De hoogte van rijen wijzigen op basis van ingevoerde tekst kun je niet doen door “autoaanpassen” in te schakelen, daarvoor moet je “terugloop” gebruiken. Daarom nam ik aan dat dat (terugloop inschakelen) de bedoeling was.

Jouw makro zet alle rijhoogtes op 50.
Mijn macro zet eerst alle rijhoogtes op 50, maar past daarna de rijhoogte aan (maakt groter dan 50) waar dat nodig is op grond van de lengte van de ingevoerde tekst.

Bedenk wel dat wanneer je terugloopt hebt ingeschakeld (handmatig of met een macro) en je schakelt dat daarna niet uit, dat terugloop dan aan blijft staan. Het lijkt mij daarom niet uitgesloten dat je eerst mijn macro hebt uitgevoerd en daarna (zonder terugloop uit te schakelen) de jouwe. Met jouw macro wordt namelijk geen enkele rijhoogte groter dan 50 gemaakt. Als er toch rijen hoger zijn dan 50, dan gebeurt dat dus op grond van het feit dat terugloop reeds via andere weg is ingeschakeld.
Enfin, doet er niet toe, als jouw macro maar naar wens werkt, dan is het ok.
 
Beste franç,

In ieder geval bedankt voor het meedenken !

Groeten,

Abco
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan