2008-12-13 12 views
14

Als Teil eines VBA-Programms muss ich die Hintergrundfarben bestimmter Zellen basierend auf ihren Werten auf grün, gelb oder rot setzen (im Grunde ein Gesundheitsmonitor, bei dem grün okay, gelb grenzwertig und rot gefährlich ist).Wie lege ich die Hintergrundfarbe von Excel-Zellen mit VBA fest?

Ich weiß, wie Sie die Werte dieser Zellen einstellen, aber wie stelle ich die Hintergrundfarbe ein.

Antwort

37

können Sie entweder:

ActiveCell.Interior.ColorIndex = 28 

oder

ActiveCell.Interior.Color = RGB(255,0,0) 
+5

Woher wissen Sie im ersten Beispiel, auf welche Farbe der ColorIndex zeigt? – awe

+0

@ awe - Die Farben und Zahlen sind hier: https://msdn.microsoft.com/en-us/library/cc296089(v=office.12).aspx – grahamesd

1

oder alternativ könnten Sie sich nicht die Mühe für sie Codierung und verwenden Sie die ‚bedingte Formatierung‘ Funktion in Excel, die die Hintergrundfarbe festgelegt wird und Schriftfarbe basierend auf Zellenwert.

Hier gibt es nur zwei Variablen. Setzen Sie den Standardwert auf Gelb und überschreiben Sie ihn dann, wenn der Wert größer oder kleiner als die Schwellenwerte ist.

10

Dies ist ein perfektes Beispiel, wo Sie den Makrorecorder verwenden sollten. Schalten Sie den Rekorder ein und stellen Sie die Farbe der Zellen über die Benutzeroberfläche ein. Stoppen Sie den Recorder und überprüfen Sie das Makro. Es wird einen Haufen überflüssigen Code erzeugen, aber es wird Ihnen auch die Syntax zeigen, die für das, was Sie erreichen wollen, funktioniert. Streifen Sie aus, was Sie nicht brauchen, und modifizieren Sie (falls nötig), was noch übrig ist.

-2

Es funktioniert nicht, wenn Sie Funktion verwenden, aber funktioniert, wenn Sie Sub. Sie können jedoch kein Sub aus einer Zelle mithilfe der Formel aufrufen.

Verwandte Themen