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.

Bestimmte Zellbereiche einfärben
#1
Guten Morgen,

ich habe eine umfangreiche Tabelle in der auch Leerzeilen enthalten sind. Nun möchte Tabellenbereiche farblich voneinander abheben.
Ich habe es mit folgendem VBA Befehl geschafft alle Zellen die einen beliebigen Inhalt haben zu umrahmen:


Code:
Sub Rahmen()
For Each Zelle In Range("B1:Y1316")
  With Zelle
    If .Value <> "" Then
      .BorderAround Weight:=xlThin
    End If
  End With
Next
End Sub

Nun habe ich versucht auf dem selben Wege bestimmte Bereiche einzufärben, in dem ich den Befehl wie folgt verändert habe:


Code:
Sub Farbe()
For Each Zelle In Range("B1:G1316")
  With Zelle
    If .Value <> "" Then
      .Interior.ColorIndex = Red
    End If
  End With
Next
End Sub

Bekomme jedoch einen Fehler ausgegeben. Laufzeitfehler 13.
Hat hier jemand einen Tip was ich falsch mache?

Wichtig ist mir, dass nur die Zellen in dem Bereich eingefärbt werden, die auch einen Inhalt haben. Leerzeilen sollen außen vor bleiben.

bin für jeden Tip dankebar :)

Gruß
Michi
Antworten Top
#2
Hallo,

versuche anstelle


Code:
.Interior.ColorIndex = Red

Code:
= vbRed

mfg
Antworten Top
#3
Code:
= vbRed


Da spuckter mir leider einen Laufzeitfehler 9 aus.
Antworten Top
#4
Moin,

Code:
Sub GMG()
  Dim c As Range
  For Each c In Range("B1:Y1316")
     If Not IsEmpty(c) Then
        c.Interior.Color = 255
     End If
  Next c
End Sub

Ich habe IsEmpty verwendet, weil eine Zelle als Funktionsergebnis ja auch "" enthalten kann und diese dann nicht leer ist. Sollten solche Zellen nicht eingefärbt werden, dann ist <>"" besser.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top


Gehe zu:


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