Wie füllt man in EXCEL automatisch eine Zelle mit der gleichen Farbe aus einer anderen Zelle, kombiniert mit einer IF / THEN-Formel?

1

Meine Vorlage enthält drei Zellen, aber nur eine Zelle benötigt Hilfe (die dritte).

Die erste Zelle entspricht entweder $ 0 oder etwas Größerem. Die zweite Zelle ist größer als $ 0 oder leer. Die dritte Zelle sollte nur dann dem Wert in der zweiten Zelle entsprechen, wenn die erste Zelle nicht gleich $ 0 ist. Wenn der Wert der ersten Zelle gleich $ 0 ist, sollte die dritte Zelle gleich $ 0 sein.

Die erste Zelle ist eine einfache Formel, die auf anderen nicht verwandten Eingaben des Benutzers basiert. Die Schrift ist immer rot.

Die zweite Zelle ist eine einfache Benutzereingabe. Die Schrift ist hier immer blau, aber der Benutzer kann die Zelle manuell mit gelber Farbe füllen (basierend darauf, ob der Wert tatsächlich oder geschätzt ist).

Die dritte Zelle sollte fett grün sein, wenn der Wert größer als 0 $ ist, und rot (nicht fett), wenn der Wert gleich 0 $ ist. Außerdem sollte diese Zelle nur dann mit gelber Farbe gefüllt werden, wenn die zweite Zelle mit gelbem UND gefüllt ist, wenn der Wert der ersten Zelle größer als $ 0 ist.

Ich denke, die Lösung beinhaltet eine Kombination dieser Funktionen; Das ist jenseits meines EXCEL-Niveaus. 1) WENN / DANN-Formel 2) Bedingte Formatierung 3) VBA-Code

Was soll ich mit der dritten Zelle tun, um alles, was ich will, automatisch zu erhalten (ohne dass der Benutzer die dritte Zelle berühren muss)?

Danke im Voraus!

James
quelle
1
Wenn das zweite Feld willkürlich ausgefüllt wird und nicht mit Bedingter Formatierung, ist die einzige Methode vba. Selbst dann muss die vba manuell ausgeführt werden. Ich glaube nicht, dass es ein Triggerereignis gibt, das auf dem Format einer Zelle basiert, die geändert wird.
Scott Craner

Antworten:

0

Folgendes habe ich mir ausgedacht. Sie sind sich nicht sicher, wie gut Sie mit VBA vertraut sind, aber wenn Sie möchten, kann ich Ihnen diesen Code erläutern und erläutern, wie Sie ihn detaillierter implementieren.

Ich habe dem Blatt zwei Schaltflächen hinzugefügt, eine, die die Farbe / Schriftart der Zelle formatiert, und eine, die die Farbe / Schriftart löscht.

Bildbeschreibung hier eingeben

Sub FormatColor3()

Set myWS = ThisWorkbook.Sheets("MySheet")
Set cell3 = myWS.Range("C2")

' Determining what color font is needed

If cell3.Value > 0 Then

    cell3.Font.Color = vbGreen
    cell3.Font.Bold = True

ElseIf cell3.Value = 0 Then

    cell3.Font.Color = vbRed

End If

' Determining what color cell is needed (6 refers to the yellow cell color)

If (myWS.Range("B2").Interior.ColorIndex = 6 And myWS.Range("A2").Value > 0) Then

    cell3.Interior.ColorIndex = 6

End If

End Sub

~

Sub Clear()

Set myWS = ThisWorkbook.Sheets("MySheet")

With myWS.Range("C2")
    .Font.Color = 0
    .Font.Bold = False
    .Interior.ColorIndex = 0
End With

End Sub
Mike
quelle