Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vba - bedingte Formatierung

vba - bedingte Formatierung
27.08.2015 11:42:40
Ingo
Leider bin ich in vba nicht so gut ... und alle gefundenen Prozeduren habe ich kopiert und ausprobiert - ohne Erfolg
hier das Basiskonzept ich weiß nun aber nicht, wie man beginnt, wie man die Procedur beendet usw.
Problem: in einer Zelle (Q 3) wird ein Wert errechnet (nicht händisch eingegeben) und angezeigt.
Ziel: Je nach Wert soll sich die Hintergrundfarbe der Zelle "Q3" ändern. Sobald ein anderer Wert errechnet wird, soll sich die Hintergrundfarbe wieder anpassen.
bisherige Prozedur:
Private Sub .....
target = "Q3"
if isempty (target) then target.interior.colorindex = 2
if target.value >= 0 and target.value = 31 and target.value = 35 and target.value = 40 and target.value = 50 then target.interior.colorindex = 3 'rot
end if
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
warum VBA?
27.08.2015 12:18:55
Rudi
Hallo,
in XL2010 hast du 64 Möglichkeiten der bed. Formatierung einer Zelle.
Gruß
Rudi

AW: vba - bedingte Formatierung
27.08.2015 12:23:05
Matthias
Hallo Ingo,
welchen Grund hat es, dass du nicht die normale bedingte Formatierung von Excel nutzt? Die funktioniert übrigens auch für solche "Zwischen Wert x und y"-Abfragen.
Trotzdem hier mal die VBA-technische Lösung:
Private Sub Worksheet_Change(ByVal Target As Range)
Set rngBereich = Range("Q3")
'Wenn Schnittmenge Bereich und Target nicht leer sind (sprich wenn Wert Q3 sich ändert)
If Not Intersect(Target, rngBereich) Is Nothing Then
'... Dein Code
'erste Zeile Target="Q3" aber weglassen
EndIf
Man kann deinen Teil übrigens auch sehr schön mit einer Fallunterscheidung lösen.
Select Case Target.Value
Case Is 
lg Matthias

Anzeige
AW: vba - bedingte Formatierung
27.08.2015 13:02:05
Ingo
Hallo Mathias,
danke für den Code.
Im Fall der Select case -Methode (die mir sehr gut gefällt)
meckert der Debugger "Case Is" an.
Muss das definiert werden, ... wie ... ?

AW: vba - bedingte Formatierung
27.08.2015 16:49:55
Matthias
Wenn man überhaupt von deklariert sprechen kann, geschieht dies in der ersten Zeile, denn es stellt in diesem Fall den Wert deines Targets dar (Select Case "Is").
Wörtlich übersetzt bedeutet "Case Is Deine Variablen hier sind Target (im Funktionsaufruf deklariert), sowie rngBereich und CI.
In einem kurzen Testlauf funktioniert das auch soweit.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngBereich As Range
Dim CI As Byte 'ColorIndex
Set rngBereich = Range("Q3")
'Wenn Schnittmenge Bereich und Target nicht leer sind (sprich wenn Wert Q3 sich ändert)
If Not Intersect(Target, rngBereich) Is Nothing Then
Select Case Target.Value
Case Is = 50
CI = 3 'rot
End Select
If IsEmpty(Target) Then CI = 2
Target.Interior.ColorIndex = CI
End If
End Sub
lg Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige