Tässä opetusohjelmassa opimme käyttämään Visual Basic for Applications (VBA) -ohjelmaa tekstin koon ja tyylin muokkaamiseen Excel-solussa solun sisällön perusteella. Tämä opetusohjelma koskee Excel 365:tä, 2021:tä, 2019:ää ja 2016:ta.
Alkuvaiheet
Jos olet uusi Excel VBA -kehityksessä, suosittelen, että tutustut Excel VBA -makron alukkeeseen ennen opetusohjelman läpikäyntiä.
Ennen kuin aloitat koodauksen, sinun tulee ottaa kehittäjä-välilehti käyttöön nauhassa Excelissä , sillä muuten et voi käyttää Visual Basic Editoria.
Muuta Excel-solutekstin ominaisuuksia VBA:lla
Määritä laskentataulukkosi
Aloitamme määrittelemällä Excel-laskentataulukon, jota käytämme esimerkkinä. Voit vapaasti käyttää sitä seurataksesi tätä opetusohjelmaa.
- Avaa Microsoft Excel ja luo uusi makrokäyttöinen Excel-työkirja ( .xlsm ) nimeltä Excel_Macros.xlsm
- Tallenna laskentataulukkosi paikalliseen asemaan.
- Siirry Sheet1 - laskentataulukkoon ja lisää alla oleva taulukko:

- Napsauta nyt nauhasta Kaavat .
- Napsauta sitten Määritä nimi .
- Määritä Nimetty alue, johon käytät VBA-koodia alla olevan kuvan mukaisesti, ja paina OK .

Käytä Cell.Font VBA -ominaisuutta muuttaaksesi fontin väriä ja tyyliä
- Siirry Kehittäjä - välilehdelle.
- Siirry seuraavaksi ja paina Visual Basic -painiketta.
- Korosta vasemmalla olevasta Project Explorerista Excel_Macros.xlsm- projekti ja paina sitten Lisää ja valitse Moduuli .
- Uusi VBA-moduuli nimeltä Moduuli1 luodaan.
- Siirry eteenpäin ja liitä seuraava koodi äskettäin luotuun moduuliin:
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
- Paina Visual Basic -editorissa Tallenna -painiketta.
- Paina nyt Suorita ja valitse sitten Run Sub/UserForm (tai paina vain F5).
- Siirry Sheet1 - laskentataulukkoon ja huomaa muutokset. Taulukkomerkinnöillesi määritettiin useita värikoodeja niiden tekstin mukaan (RGB-väritoiminnolla), ja myös lihavoitu teksti ja suurensimme sen kokoa.

- Jos et ole tallentanut koodia, paina Tallenna-painiketta (tai Ctrl+S) ja tallenna sitten myös työkirja.
Käytä VBA-makroasi
- Huomaa, että koodisi on aina käytettävissä Näytä-välilehden Makrot-komennolla (tai vaihtoehtoisesti Kehittäjä | Makrot)

Bonus: Cell Style
Excel tarjoaa mahdollisuuden luoda solujen "tyylejä". Tyylit löytyvät Etusivun nauhasta > Tyylit:

Tyylien avulla voit tallentaa haluamasi solun muotoilun. Määritä sitten kyseinen tyyli uudelle solulle ja kaikki solun muotoilut otetaan käyttöön välittömästi. Sisältää fontin koon, solun värin, solujen suojauksen tilan ja kaiken muun, joka on saatavilla Solun muotoiluvalikosta:

Itse luon useille malleille, joiden parissa työskentelen, yleensä "syöttö"-solutyylin:
Alue("a1").Tyyli = "Syöte"
Tyylien avulla voit myös helposti tunnistaa laskentataulukon solutyypit. Alla oleva esimerkki käy läpi kaikki laskentataulukon solut ja muuttaa minkä tahansa solun, jossa on Style = "Input" arvoon "InputLocked":
Himmeä solu alueena
Jokaiselle ActiveSheet.Cells-solulle
Jos Cell.Style = "Syöte" sitten Cell.Style = "InputLocked"
Loppu Jos
Seuraava solu