Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen einfärben VBA

Zellen einfärben VBA
01.06.2024 20:25:34
J-M Maier
Hallo zusammen,
sicher für die Profis eine Lachnummer aber ich würde gerne wie der Beispieldatei zu entnehmen das Einfärben der Zelle B2 falls D2=0-D100 auf die Zellen B2-B100 erweitern ohne den Code jetzt 100 mal zu schreiben.
Kann mir jemand helfen?
Danke

https://www.herber.de/bbs/user/169819.xlsm
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen einfärben VBA
01.06.2024 20:38:43
AlterDresdner
Hallo,
Option Explicit

Function farben()
Dim zeile As Long
Sheets("Tabelle1").Activate
For zeile = 2 To 100
If Range("D" & zeile).Value = 0 Then
Range("B" & zeile).Interior.ColorIndex = xlNone
Else
Range("B" & zeile).Interior.Color = vbRed
End If
Next zeile
End Function

Gruß
Anzeige
AW: Zellen einfärben VBA
02.06.2024 06:52:35
Beverly
Hi,

folgender Code im Codemodul des Tabellenblattes ist ausreichend:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rngZelle As Range
If Not Intersect(Target, Range("B2:B10")) Is Nothing Then
' Schleife über alle ausgewählten Zellen falls mehr als 1 selektiert wurde
For Each rngZelle In Target.Cells
' laufende Zelle liegt im Bereich
If Not Intersect(rngZelle, Range("B2:B10")) Is Nothing Then
' 2. Zelle rechts von der laufenden Zelle ist 0
If rngZelle.Offset(0, 2) = 0 Then
rngZelle.Interior.ColorIndex = xlNone
Else
rngZelle.Interior.Color = vbRed
End If
End If
Next rngZelle
End If
End Sub


Durch die For-Next-Schleife ist auch abgedeckt, falls in Spalte B gleichzeitig mehrere Zellen ausgewählt wurden.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Zellen einfärben VBA
02.06.2024 07:36:15
GerdL
Moin,

noch ein Gedicht.
Private Sub Worksheet_Change(ByVal Target As Range)


Dim C As Range

If Not Intersect(Target, Columns(2)) Is Nothing Then
For Each C In Intersect(Target, Columns(2)).Cells
C.Interior.ColorIndex = IIf(C.Offset(0, 2) = 0, xlNone, 3)
Next
End If

End Sub

Gruß Gerd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige