Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige