Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
504to508
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
504to508
504to508
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bedingte Formatierung auslesen

Bedingte Formatierung auslesen
21.10.2004 15:47:18
Andreas
Hallo,
folgendes Problem:
In einer Zelle wird die Hintergrundfarbe durch eine bedingte Formatierung bestimmt.
Kann ich die Farbe, die er durch die bedingte Formatierung festgelegt hat, irgendwie per VBA auslesen. Ich brauche diese Farbe zur späteren Verwendung in VBA.
Mit cells(...).interior.colorindex geht es nämlich nicht.
Damit liest er mir nur die Farbe aus, die ich vorher der Zelle von Hand gegeben habe.
Gruß
Andreas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung auslesen
21.10.2004 15:52:10
Frank
Hallo Andreas,
probiers mal damit:

Sub FarbeHintergrund()
MsgBox Selection.Interior.ColorIndex
End Sub

Frank
AW: Bedingte Formatierung auslesen
21.10.2004 16:00:05
Andreas
Hallo Frank,
danke für die Antwort. Aber mit der Methode ...Interior.Colorindex... liest er immer nur die Farbe aus, die ich der Zelle von Hand (sprich: Zelle markieren und Füllfarbe auswählen) gegeben habe.
Allerdings legt er darüber die Farbe, die ich in der Bedingten Formatierung festlege. Und diese hätte ich gerne ausgelesen.
Gruß
Andreas
AW: Bedingte Formatierung auslesen
PeterW
Hallo Andreas,
leider geht das nicht. Du musst schon die Bedingung selbst auswerten.
Gruß
Peter
Anzeige
AW: Bedingte Formatierung auslesen
21.10.2004 16:01:21
Andreas
Ok, danke.
Das habe ich mir fast gedacht. Bringt mir halt ein Haufen Arbeit mehr. Aber was soll's.
Gruß
Andreas
AW: Bedingte Formatierung auslesen
nighty
hi andreas :)
wie gewuenscht :)
gruss nighty
Rem beispiel:
Rem =BedingungAdd(A1:A3;3)
Rem wobei die drei fuer die farbe rot steht

Function BedingungAdd(Zellen As Range, farbe As Integer) As Double
Dim Zelle As Range
Dim farben As Integer
Application.Volatile
For Each Zelle In Zellen
farben = GetCellColor(Zelle)
If farben = farbe Then
BedingungAdd = BedingungAdd + Zelle.Value
End If
Next
End Function


Function GetCellColor(cell As Range) As Integer
Dim i
Dim myVal
Dim myColor As Integer
Dim done As Boolean
On Error Resume Next
Names("testname").Delete
On Error GoTo 0
Application.ReferenceStyle = xlR1C1
myVal = cell.Value
myColor = cell.Interior.ColorIndex
done = False
For i = 1 To cell.FormatConditions.Count
With cell.FormatConditions.Item(i)
If .Type = 1 Then
Select Case .Operator
Case xlBetween
If (myVal >= Evaluate(.Formula1) And myVal <= Evaluate(.Formula2)) _
Or (myVal <= Evaluate(.Formula1) And myVal >= Evaluate(.Formula2)) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlEqual
If myVal = Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreater
If myVal > Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreaterEqual
If myVal >= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLess
If myVal < Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLessEqual
If myVal <= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotBetween
If myVal < Evaluate(.Formula1) Or myVal > Evaluate(.Formula2) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotEqual
If myVal <> Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
End Select
ElseIf .Type = 2 Then
Names.Add Name:="testname", RefersToR1C1Local:=.Formula1
If Evaluate("testname") Then
myColor = .Interior.ColorIndex
done = True
End If
Names("testname").Delete
Else
MsgBox "Unbekannter Typ: " & .Type, , "PANIC: In 

Function GetCellColor"
Exit Function
End If
End With
If done Then Exit For
Next
Application.ReferenceStyle = xlA1
GetCellColor = myColor
End Function

Anzeige
AW: Bedingte Formatierung auslesen
Udo
Die Funktion ist Schrott.
Udo
AW: Bedingte Formatierung auslesen
nighty
hi udo :)
sehr aussage kraeftig :))
gruss nighty
AW: Bedingte Formatierung auslesen
Udo
Ausprobieren, aber auch mal mit komplexeren Formeln als Bedingung, dann merkst du es bei VBA gut selbst.
Udo
AW: Bedingte Formatierung auslesen
nighty
hi udo :)
fuer die fragestellung funktioniert es jedoch und von dir bis jetzt kein versuch einer loesung zu sehen ist.ich bin gerne offen fuer neue sachen, wenn entsprechend korrigiert wird oder ein besserer vorschlag kommt.
gruss nighty
AW: Bedingte Formatierung auslesen
nighty
hi udo
vielleicht solltest du erstmal damit anfangen :)
gruss nighty
FORUMSBEITRAG
Syntax
FORUMSBEITRAG(Begrüssung;[Text];Schlussformel;Name)
Begrüssung Erforderlich.Ein Zeichenfolgeausdruck,der den landestypischen Grpflogenheiten entspricht.Eine Auswahl kann der nachfolgenden Zeile entnommen werden : „Hallo“,“Hi“,Guten Tag“ oder ähnliches.Möglich sind auch regionstypische wie “Moin“,“Grüetze“ oder “Servus“
Text Erforderlich.Ein Zeichenfolgenausdruck,der Auskunft über das eigentliche Anliegen des Fragenden gibt.Der Inhalt ist frei wählbar,sollte aber freundlich und aussagekräftig abgefasst sein.
Schlussformel Erforderlich.Ein Zeichenfolgenausdruck, der den landestypischen Gepflogenheiten entspricht.Eine Auswahl kann der nachfolgenden Zeile entnommen werden:
“Ciao“,“Danke“,“Tschüss“,“Viele Grüsse“ oder ähnliches.
Name Optional.Veranlasst das Forum,freundlicher und persönlicher auf Text zu reagieren.
Anmerkung
Bei genauer Einhaltung der Syntax liefert die Funktion FORUMSBEITRAG das gewünschte Suchergebnis und hinterlässt zufriedengestellte Anwender.
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige