Utolsó frissítés: 2021. augusztus; Microsoft Excel 365, 2019, 2016.
A mai VBA for Excel Automation oktatóanyagban megtudjuk, hogyan módosíthatjuk programozottan egy cella színét a cellaérték alapján.
Ezt a technikát használhatjuk például egy egyszerű állapot-műszerfal kidolgozásakor.
Beállít
Ha még nem fejleszt Excelen, javasoljuk, hogy tekintse át az Excel makrók bevezető útmutatóját . Pontosabban, meg kell győződnie arról, hogy a Fejlesztő lap elérhető a Microsoft Excel szalagon, mivel azt egyszerű kódok írásához használhatja.
- Nyissa meg a Microsoft Excelt. Ne feledje, hogy az oktatóanyagban található kód várhatóan az Excel 2007-es és újabb verzióiban fog működni.
- Egy üres munkalapon adja hozzá a következő táblázatot:

- Most menjen előre, és határozzon meg egy elnevezett tartományt a Formulas>>Define Name megnyomásával

A cella belső színének megváltoztatása érték alapján a Cell.Interior.Color segítségével
- Kattintson a Fejlesztő bejegyzésre a szalagon.
- Nyomja meg a Visual Basic vagy az Alt+F11 billentyűket a fejlesztői VBA-szerkesztő megnyitásához.
- Ezután jelölje ki azt a munkalapot, amelyen futtatni szeretné a kódot. Alternatív megoldásként válasszon egy olyan modult, amely tartalmazza a VBA-kódot.
- Illessze be ezt a kódot. Példánkban egy cellatartomány belső színét a vörös, sárga és zöld színeknek megfelelő RGB-értékekre módosítjuk.
- Konkrétan az Excel VBA Cell.Interior.Color módszerét használjuk , és átadjuk a megfelelő RGB értéket vagy színindexet.
Sub Color_Cell_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Status")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case "Progressing"
MyCell.Interior.Color = RGB(0, 255, 0)
Case "Pending Feedback"
MyCell.Interior.Color = RGB(255, 255, 0)
Case "Stuck"
MyCell.Interior.Color = RGB(255, 0, 0)
End Select
Next MyCell
End Sub
- Futtassa a kódot – az F5 vagy a Run>> Run Sub / UserForm billentyű lenyomásával.
- Észreveheti, hogy az állapotirányítópult az alábbiak szerint megtelt:

- Mentse el a kódot, és zárja be a VBA-szerkesztőt.