Šioje pamokoje sužinosime, kaip naudoti „Visual Basic for Applications“ (VBA) teksto dydžiui ir stiliui modifikuoti „Excel“ langelyje pagal langelio turinį. Ši mokymo programa taikoma Excel 365, 2021, 2019 ir 2016 m.
Preliminarus
Jei nesate naujokas „Excel VBA“ kūrimo srityje, rekomenduosiu, kad prieš pereinant prie mokymo programos pažvelgtumėte į „ Excel VBA“ makrokomandų pradmenį.
Prieš pradėdami koduoti, juostelėje turėtumėte įgalinti kūrėjo skirtuką „Excel “, nes kitaip negalėsite pasiekti „Visual Basic“ rengyklės.
Pakeiskite „Excel“ langelio teksto ypatybes naudodami VBA
Apibrėžkite savo skaičiuoklę
Pradėsime apibrėždami „Excel“ skaičiuoklę, kurią naudosime kaip pavyzdį. Nedvejodami naudokite ją ir vadovaukitės šia mokymo programa.
- Atidarykite „Microsoft Excel“ ir sukurkite naują „Excel“ darbaknygę su makrokomandomis ( .xlsm ), pavadintą „ Excel_Macros.xlsm“
- Išsaugokite skaičiuoklę vietiniame diske.
- 1 lapo darbalapyje eikite į priekį ir pridėkite lentelę toliau:
- Dabar iš juostelės paspauskite Formulės .
- Tada paspauskite Nustatyti pavadinimą .
- Apibrėžkite pavadintą diapazoną, kuriame pritaikysite savo VBA kodą, kaip parodyta toliau, ir paspauskite Gerai .
Norėdami pakeisti šrifto spalvą ir stilių, naudokite Cell.Font VBA nuosavybę
- Pereikite į skirtuką Kūrėjas .
- Tada eikite į priekį ir paspauskite „ Visual Basic “ mygtuką.
- Kairėje pusėje Project Explorer pažymėkite projektą Excel_Macros.xlsm , tada paspauskite Įterpti ir pasirinkite Modulis .
- Bus sukurtas naujas VBA modulis, pavadintas Module1 .
- Eikite į priekį ir įklijuokite šį kodą naujai sukurtame modulyje:
Sub Color_Cell_Text_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Completion_Status")
'loop through all cells in the range
For Each MyCell In StatusRange
StatValue = MyCell.Value
'modify the cell text values as needed.
Select Case StatValue
'green
Case "Progressing"
With MyCell.Font
.Color = RGB(0, 255, 0)
.Size = 14
.Bold = True
End With
'orange
Case "Pending Feedback"
With MyCell.Font
.Color = RGB(255, 141, 0)
.Size = 14
.Bold = True
End With
'red
Case "Stuck"
With MyCell.Font
.Color = RGB(255, 0, 0)
.Size = 14
.Bold = True
End With
End Select
Next MyCell
End Sub
- „Visual Basic“ rengyklėje paspauskite mygtuką Išsaugoti .
- Dabar paspauskite Vykdyti , tada pasirinkite Vykdyti sub/vartotojo formą (arba tiesiog paspauskite F5).
- Pereikite į savo Sheet1 darbalapį ir pastebėkite pakeitimus. Jūsų lentelės įrašams buvo priskirti keli spalvų kodai pagal jų tekstą (naudojant RGB spalvų funkciją), taip pat nustatėme paryškintą tekstą ir padidinome jo dydį.
- Jei neišsaugojote kodo, paspauskite mygtuką Išsaugoti (arba Ctrl+S), tada taip pat išsaugokite darbaknygę.
Pasiekite savo VBA makrokomandą
- Atminkite, kad kodą visada galite paleisti naudodami komandą Makrokomandos, esančią skirtuke Rodinys (arba Kūrėjas | Makrokomandos).
Premija: ląstelių stilius
„Excel“ siūlo galimybę sukurti langelio „stilius“. Stilius rasite Pagrindinis juostelėje > Stiliai:
Stiliai leidžia išsaugoti norimą langelio formatavimą. Tada priskirkite šį stilių naujam langeliui ir visas langelio formatavimas bus iškart pritaikytas. Įskaitant šrifto dydį, langelio spalvą, langelių apsaugos būseną ir viską, ką galima rasti langelių formatavimo meniu:
Asmeniškai daugeliui modelių, su kuriais dirbu, paprastai sukuriu „Įvesties“ langelio stilių:
Diapazonas("a1"). Stilius = "Įvestis"
Naudodami stilius taip pat galite lengvai nustatyti langelių tipus darbalapyje. Toliau pateiktame pavyzdyje bus peržiūrimi visi darbalapio langeliai ir bet kuris langelis su Style = „Input“ bus pakeistas į „InputLocked“:
Pritemdyti langelį kaip diapazoną
Kiekvienam ActiveSheet.Cells langeliui
Jei Cell.Style = "Įvestis" tada Cell.Style = "InputLocked"
Pabaiga Jei
Kitas langelis