Paskutinį kartą atnaujinta: 2021 m. rugpjūčio mėn.; „Microsoft Excel 365“, 2019, 2016 m.
Šiandienos VBA for Excel automatizavimo vadovėlyje sužinosime, kaip galime programiškai pakeisti langelio spalvą pagal langelio vertę.
Šią techniką galime naudoti, pavyzdžiui, kurdami paprastą būsenos prietaisų skydelį.
Sąranka
Jei dar nekuriate naudodami „Excel“, rekomenduojame perskaityti įvadinį „Excel“ makrokomandų vadovą . Tiksliau, turite įsitikinti, kad „Microsoft Excel“ juostelėje yra skirtukas Kūrėjas, nes jį naudosite rašydami paprastą kodą.
- Atidarykite „Microsoft Excel“. Atminkite, kad šioje mokymo programoje pateiktas kodas turėtų veikti naudojant „Excel 2007“ ir naujesnes versijas.
- Tuščiame darbalapyje pridėkite šią lentelę:
- Dabar eikite į priekį ir apibrėžkite pavadintą diapazoną paspausdami: Formulės>> Apibrėžkite pavadinimą
Celės vidaus spalvos keitimas pagal vertę naudojant Cell.Interior.Color
- Paspauskite kūrėjo įrašą juostelėje.
- Paspauskite Visual Basic arba Alt + F11, kad atidarytumėte kūrėjo VBA redaktorių.
- Tada pažymėkite darbalapį, kuriame norite paleisti savo kodą. Arba pasirinkite modulį, kuriame yra jūsų VBA kodas.
- Eikite į priekį ir įklijuokite šį kodą. Mūsų pavyzdyje pakeisime langelių diapazono vidinę spalvą į konkrečias ląstelių RGB reikšmes, atitinkančias raudoną, geltoną ir žalią spalvas.
- Tiksliau, mes naudojame Excel VBA metodą Cell.Interior.Color ir perduodame atitinkamą RGB reikšmę arba spalvos indeksą.
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
- Vykdykite kodą paspausdami F5 arba Vykdyti>> Vykdyti sub / UserForm.
- Pastebėsite, kad būsenos prietaisų skydelis užpildytas, kaip parodyta toliau:
- Išsaugokite kodą ir uždarykite VBA redaktorių.