Microsoft Excel

Herbers Excel/VBA-Archiv

Excel VBA Zelle markieren, wenn


Betrifft: Excel VBA Zelle markieren, wenn
von: Miracola
Geschrieben am: 10.12.2018 09:53:57

Hallo zusammen
Ich habe eine Projekt-Excel-Liste (mit 650 Zeilen), wo der Text in einer Zelle teils zu lang ist, so dass die Zeilenbegrenzung von 409.5 erreicht wurde. Nun möchte ich die Zeilen markieren, welche die max. Zeilenhöhe erreicht haben, so dass ich bei diesen eine zusätzliche Zeile einfügen kann.
Ich habe es bereits versucht, aber irgendein Fehler ist da drin, denn es markiert mir die Felder nicht. PS. Es muss nicht Rot sein, kann auch Gelb markiert werden.

Sub Zeilenhöhe_Maximum_erreicht()
    
    Dim r As Object
    Application.ScreenUpdating = False
    
    For Each r In ActiveSheet.UsedRange.Rows
        r.EntireRow.AutoFit
        If r.RowHeight > 409.5 Then r.Row.Interior.Color = vbRed
    Next
    Application.ScreenUpdating = True
End Sub
Kann mir jemand sagen, was genau ich in meiner VBA falsch gemacht habe? Ich verwende Excel 2013 (bei der Arbeit).
Ach ja, bitte nicht lachen, denn diese Programmierung habe ich aus verschiedenen VBAs vom Internet zusammengebastelt ;)

Vielen Dank und beste Grüsse
Claudia

  

Betrifft: AW: Excel VBA Zelle markieren, wenn
von: Werner
Geschrieben am: 10.12.2018 10:04:04

Hallo Claudia,

na ja, du prüfst ja auf größer 409.5 und das kann ja nicht zutreffen, da ja die maximale Zeilenhöhe 409.5 ist -kann also niemals größer sein.

Du mußt auf = 409.5 prüfen.

Gruß Werner


  

Betrifft: AW: Excel VBA Zelle markieren, wenn
von: Claudia
Geschrieben am: 10.12.2018 10:21:39

Funktioniert nicht. Wenn ich = 409.5 eingebe, kommt bei der Prüfung ein Fehler:

Laufzeitfehler '424': Objekt erforderlich


  

Betrifft: AW: Excel VBA Zelle markieren, wenn
von: Werner
Geschrieben am: 10.12.2018 10:26:42

Hallo Claudia,

so:

Sub Zeilenhöhe_Maximum_erreicht()
Dim r As Range

Application.ScreenUpdating = False

For Each r In ActiveSheet.UsedRange.Rows
    r.EntireRow.AutoFit
    If r.RowHeight = 409.5 Then r.EntireRow.Interior.Color = vbRed
Next

End Sub
Gruß Werner


  

Betrifft: AW: Excel VBA Zelle markieren, wenn
von: Claudia
Geschrieben am: 10.12.2018 10:30:12

Vielen lieben Dank!!! Hat geklappt :)
Beste Grüsse
Claudia


  

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 10.12.2018 10:32:39