Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Schriftgrösse in Abhängigkeit Zeilenhöhe
#1
Hallo miteinander

In einem bestimmten Bereich Range("P27:BD52") können Werte erfasst werden.
Die Zeilenhöhe ist auf 13.5 eingestellt. Die Schriftgrösse ist Arial 7.

Über eine Schaltfläche+VBA werden die Zeilenhöhen grösser oder kleiner; mit einem integrierten Code (per call) soll noch die Schriftgrösse angepasst werden.
Wenn die Zeilenhöhe grösser wird als 13.5 soll die Schriftgrösse nicht angepasst werden. Im umgekehrten Falle (Höhe kleiner, Schriftgrösse kleiner) aber schon, damit die Lesbarkeit erhalten bleibt.

Auf office-hilfe.com => "Schriftgröße Automatiscch per VBA" habe ich einen interessanten Ansatz gefunden... bei der Umsetzung scheitere ich aber Mangels VBA-Kenntnissen, wenn die Zeilenhöhen grösser werden als 13.5.
Es würde mich freuen, wenn mir jemand helfen könnte!


Code:
Sub schrift_vergr()
Dim wert As Long
Dim zelle As Range
Dim bereich As Range
Set bereich = Range("P27:BD52")

For Each zelle In bereich
   wert = Round(zelle.RowHeight, 0) * 0.73
   zelle.Font.Size = wert
Next zelle

End Sub
Bitte teilt mir mit, wenn man solche Codes aus anderen Quellen anders zitiert - thx.

Liebe Grüsse
Urs
Antworten Top
#2
Guten Morgen

ich glaube mit dem Code ist das Problem gelöst:


Code:
Dim wert As Long
Dim zelle As Range
Dim bereich As Range
Set bereich = Range("P27:BD52")

For Each zelle In bereich

   If zelle.RowHeight < 13.5 Then
       wert = Round(zelle.RowHeight, 0) * 0.73
       zelle.Font.Size = wert
   ElseIf zelle.RowHeight > 13.5 Then
       zelle.Font.Size = 7
   End If

Next zelle


Alles Gute und liebe Grüsse
Urs
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste