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.

Automatische Zeilenhöhe plus extra Platz
#1
Hallo zusammen,

wie der Titel verrät, versuche ich die Zeilenhöhe in meiner Tabelle erst automatisch anzupassen und dann um einen Wert X zu vergrößern damit der Text nicht komplett eingeklemmt steht.
Leider funktioniert das nicht ganz so wie ich möchte. AutoFit klappt noch, nur die Zeilenerhöhung macht nix.

So der Code, wie ich dachte er würde funktionieren.
Code:
    Rows("5:150").AutoFit
    Rows("5:150").RowHeight = Rows("5:150").RowHeight + 20

Und hier mein kompletter Code, falls das mehr bringen sollte. Bitte entschuldigt Form etc. bin noch recht neu in dem Thema VBA, weswegen das ein wenig wild aussehen kann. 20 

Code:
Sub Dispo_NEW()
Dim Tx As String, pos As Integer
Dim c As Range

For Each c In Range(Cells(1, 1), Cells(150, 1))
   Tx = c.Value
   pos = InStr(1, Tx, "AT", vbBinaryCompare)
   If pos Then
       If Mid(Tx, pos, 10) Like "AT########" Then
            c.Characters(pos, 10).Font.Bold = True
            c.Characters(pos, 10).Font.ColorIndex = 43
            c.Characters(pos, 10).Font.Size = 12
       End If
   End If
Next c
    Columns("A").ColumnWidth = 65
    Columns("G:I").ColumnWidth = 8
    Rows("5:150").AutoFit
    Rows("5:150").RowHeight = Rows("5:150").RowHeight + 20
    Columns("C:E").Select
    Selection.EntireColumn.Hidden = True
    Columns("H:H").Select
    Selection.EntireColumn.Hidden = True
    Application.CutCopyMode = False
    Columns("I").Select
    Selection.ClearContents
    Range("I4").Select
    ActiveCell.FormulaR1C1 = "Status"
End Sub

VG
Antworten Top
#2
Hi,

bist du dir sicher, dass die Zeilen 5:150 alle gleich groß sind? wenn nein, ist nach Ausführen der Zeile
Code:
Rows("5:150").RowHeight = Rows("5:150").RowHeight + 20
der komplette Bereich nur 20 hoch, da RowHeight bei unterschiedlichen Zeilenhöhen 0 zurück gibt. Du müsstest also eine Schleife über die Zeilen machen:
Code:
Dim Zeile As Range
...
For Each Zeile in Rows("5:150")
    Zeile.RowHeight = Zeile.RowHeight + 20
Next Zeile
ungetestet...
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • bastian_der_neuling
Antworten Top
#3
Das mit dem 0-Wert habe ich nicht gewusst. Wurde tatsächlich in keinem der Tutorials/Foren die ich mir angeschaut habe erwähnt. 19

Funktioniert jetzt so, vielen Dank!
Antworten Top
#4
Hi,

wenn ich etwas über eine Funktion wissen will, schaue ich als allererstes in die Onlinehilfe. Dazu einfach F1 drücken während er Cursor auf der/dem entsprechenden Befehl/Objekt/Eigenschaft/Methode steht. Und genau dort steht dann:
Zitat:Wenn ein Bereich Zeilen mit unterschiedlicher Höhe enthält, gibt RowHeight möglicherweise die Höhe der ersten Zeile zurück oder gibt Null zurück.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • bastian_der_neuling
Antworten Top


Gehe zu:


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