Excel rijhoogte aanpassen op basis van celwaarde (getal)

Status
Niet open voor verdere reacties.

vdhmark

Gebruiker
Lid geworden
24 jan 2014
Berichten
6
Voor een bepaalde toepassing ben ik bezig om een vragenlijst te maken in meerdere talen. Aangezien de tekst in de ene taal meer ruimte in kan nemen dan in een andere taal, wil ik op basis van een (per taal) ingegeven getal (zie kolom g, H en I) de rijhoogte instellen. Deze actie moet worden uitgevoerd voor het aantal rijen in een aangegeven bereik (in het voorbeeld rij 7 t/m 9).

Concreet voorbeeld:
Ik selecteer de taal Nederlands en met behulp van VBA moet de rijhoogte als volgt worden ingesteld:
Rij 7 --> rijhoogte 10
Rij 8 --> rijhoogte 50
Rij 9 --> Rijhoogte 10

Selecteer ik vervolgens taal "Engels", dan moet VBA de rijhoogte als volgt instellen:
Rij 7 --> rijhoogte 10
Rij 8 --> rijhoogte 10
Rij 9 --> Rijhoogte 40

Wie kan mij helpen

Bekijk bijlage Instellen rijhoogte per taal.xlsm
 
Dat kan hiermee:
Code:
Sub DropDown1_BijWijzigen()
    Rows(7).RowHeight = Choose([D2], [G7], [H7], [I7])
    Rows(8).RowHeight = Choose([D2], [G8], [H8], [I8])
    Rows(9).RowHeight = Choose([D2], [G9], [H9], [I9])
End Sub

Kijk wel even goed naar de hoogtes omdat in VBA andere waarden gelden dan je nu in de matrix hebt staan.
Even mee spelen dus en de juiste waarden in de Rijhoogte matrix invullen.
 
Laatst bewerkt:
Voor het voorbeeld geval werkt dit wellicht. Echter mijn vragenlijst heeft ca. 1000 regels. Om dit voor iedere regel op deze manier in te stellen is niet handig. Ben eigenlijk op zoek naar een soort "loop" die het opgegeven bereik (zeg maar regel 1-1000) afwerkt.
 
Tsja, dat is dus heel wat anders en geeft aan hoe belangrijk een goed voorbeeld is.
Plaats dus een document met een juist voorbeeld.

Gebruik wel eerst je eerste voorbeeld met mijn voorbeeldcode om de juiste waarden voor de hoogtes te vinden.
 
Laatst bewerkt:
Misschien zo:

Code:
Sub tsh()
    Dim i As Long
    
    For i = 7 To Range("G" & Rows.Count).End(xlUp).Row
        Rows(i).RowHeight = Range("G7").Offset(i - 7, Range("D2") - 1)
    Next
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan