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.

Farbe einer Cell checken.
#1
Thumbs Up 
Hallo,
ich möchte anhand einer Cell Hintergrund Farbe abfragen und danach eine Checkbox = True setzen.
Hier mein Code bisher + Kommentare
Code:
Private Sub CommandButton1_Click()
Dim finden As Range
Dim bier, icetea, iceteapreis As Integer
Dim bierpreis As Double
Worksheets("Bierkasse").Activate
bierpreis = 1.5
iceteapreis = 1

Set finden = Columns(1).Find(what:="Alexander") ' Wer soll gesucht werden?
If Cells(finden.Row, 2).Value > 0 Or Cells(finden.Row, 3).Value Then ' hat derjenige überhaupt was getrunken?
    Dim flaschenBier, flaschenTea As Integer 'Anzahl der Flaschen jeweils
    flaschenBier = Cells(finden.Row, 2)
    flaschenTea = Cells(finden.Row, 3)
    Me.TextBox3.Value = flaschenBier * bierpreis + flaschenTea * iceteapreis 'Berechnung des Gesamt Konsums
    Me.TextBox3.Value = Format(Me.TextBox3.Value, "###.###€") 'In TextBox wird formatierter Betrag mit € geschrieben
    If Cells(finden.Row, 4).Interior.Color = 35 Then 'Hier soll geschaut werden ob bezahlt wurde, d.h ob die Celle grün ist oder rot
        Me.CheckBox1.Value = True
    End If
End If
End Sub

Leider funktioniert die If-Abfrage nicht ganz. Grün hat den Farbcode 35 und Rot 38, wie schaffe ich es das ich diesen Hintergrundfarben Code so Abfrage das er bei grün (35) dann die Box auf True setzt
Danke schonmal für die Antworten
Antworten Top
#2
Hallo,

hast Du schon einmal mit: Interior.ColorIndex - probiert?

Grüße

Norbert
Antworten Top
#3
Code:
Private Sub CommandButton1_Click()
Dim finden As Range
Dim bier, icetea, iceteapreis As Integer
Dim bierpreis As Double
Dim flaschenBier, flaschenTea As Integer 'Anzahl der Flaschen jeweils
Dim cellColor As Long 'Variable zur Speicherung der Hintergrundfarbe 
Worksheets("Bierkasse").Activate
bierpreis = 1.5
iceteapreis = 1
Set finden = Columns(1).Find(what:="Alexander") ' Wer soll gesucht werden?
If Not finden Is Nothing Then ' Überprüfen, ob die gesuchte Person gefunden wurde
    ' hat derjenige überhaupt was getrunken?
    If Cells(finden.Row, 2).Value > 0 Or Cells(finden.Row, 3).Value > 0 Then
        ' Hintergrundfarbe der Zelle in Spalte 2 abfragen
        cellColor = Cells(finden.Row, 2).Interior.Color
        If cellColor = RGB(146, 208, 80) Then ' wenn die Hintergrundfarbe grün ist
            ' Checkbox auf True setzen
            Me.CheckBox1.Value = True
        End If
        ' weiterer Code ...
    End If
End If

Vielleicht hilft Dir das
Antworten Top
#4
Hi,

Excel und Farben ist eine Geschichte, die nicht wirklich gut funktioniert. Wieso? Das merkst du gerade...

Selbst wenn obige Vorschläge funktionieren: Was machst du, wenn jemand nur ein ähnliches Grün verwendet?

Wie kommt überhaupt die grüne Farbe in die Zelle? Wenn es durch eine bed.Form. geschieht, dann kannst du die grüne Farbe so nicht auslesen, sondern musst z.B. cellColor = Cells(finden.Row, 2).DisplayFormat.Interior.Color verwenden.

Bessere Lösung: Verwende eine weitere Spalte, z.B. "bezahlt" und setzte dort irgendwas rein (ein "x" oder das Datum), wenn bezahlt wurde. Und dann beziehst du dich in deinem Code darauf. Und die Farbe machst du dann über eine bed.Form.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


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