Í þessari kennslu munum við læra hvernig á að nota Visual Basic for Applications (VBA) til að breyta textastærð og stíl í Excel reit byggt á innihaldi frumunnar. Þessi kennsla á við fyrir Excel 365, 2021, 2019 og 2016.
Forkeppni
Ef þú ert nýr í Excel VBA þróun, mun ég mæla með því að áður en þú ferð í gegnum kennsluna muntu skoða Excel VBA macro grunninn okkar.
Áður en þú byrjar að kóða ættirðu að virkja forritaraflipann þinn á Excel í borði, þar sem annars muntu ekki hafa aðgang að Visual Basic Editor.
Breyttu eiginleikum Excel frumutexta með VBA
Skilgreindu töflureikninn þinn
Við byrjum á því að skilgreina Excel töflureikni sem við munum nota sem dæmi. Ekki hika við að nota það til að fylgja þessari kennslu.
- Opnaðu Microsoft Excel og búðu til nýja Macro Enabled Excel vinnubók ( .xlsm ) sem heitir Excel_Macros.xlsm
- Vistaðu töflureikninn þinn á staðbundnu drifi.
- Í Sheet1 vinnublaðinu skaltu halda áfram og bæta við töflunni hér að neðan:

- Nú, frá borði, smelltu á Formúlur .
- Smelltu síðan á Define Name .
- Skilgreindu nafngreint svið þar sem þú notar VBA kóðann þinn eins og sýnt er hér að neðan og smelltu á OK .
![Hvernig á að stilla leturlit í Excel með VBA? Hvernig á að stilla leturlit í Excel með VBA?]()
Notaðu Cell.Font VBA eign til að breyta leturlit og stíl
- Farðu í Developer flipann.
- Næst skaltu fara á undan og ýta á Visual Basic hnappinn.
- Í vinstri hlið Project Explorer , auðkenndu Excel_Macros.xlsm verkefnið og ýttu síðan á Insert og veldu Module .
- Ný VBA eining sem heitir Module1 verður búin til.
- Haltu áfram og límdu eftirfarandi kóða í nýstofnaða einingu:
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
- Smelltu á Vista hnappinn í Visual Basic ritlinum þínum.
- Ýttu nú á Run og veldu síðan Run Sub/UserForm (eða ýttu einfaldlega á F5).
- Farðu í Sheet1 vinnublaðið þitt og taktu eftir breytingunum. Töflufærslum þínum var úthlutað mörgum litakóðum í samræmi við texta þeirra (með því að nota RGB litaaðgerðina), og við stillum líka textann á feitletrun og stækkum stærð hans.
![Hvernig á að stilla leturlit í Excel með VBA? Hvernig á að stilla leturlit í Excel með VBA?]()
- Ef þú hefur ekki vistað kóðann þinn, ýttu á Vista hnappinn (eða Ctrl+S), vistaðu síðan vinnubókina þína.
Fáðu aðgang að VBA Macro
- Athugaðu að kóðinn þinn er alltaf tiltækur fyrir þig til að keyra frá Macros skipuninni sem staðsett er í View flipanum (eða að öðrum kosti í Developer | Macros)
![Hvernig á að stilla leturlit í Excel með VBA? Hvernig á að stilla leturlit í Excel með VBA?]()
Bónus: Cell Style
Excel býður upp á möguleikann á að búa til „stíla“ fyrir hólf. Stíla má finna í Hausaborðinu > Stíll:
![Excel vba leturgerð]()
Stíll gerir þér kleift að vista frumsniðið sem þú vilt. Úthlutaðu síðan þeim stíl við nýjan reit og allt frumsniðið er samstundis beitt. Þar á meðal leturstærð, frumulit, stöðu frumuverndar og allt annað sem er í boði í valmyndinni fyrir frumsnið:
![frumsniðsvalmynd excel]()
Persónulega, fyrir mörg af módelunum sem ég vinn á, bý ég venjulega til „Inntak“ frumustíl:
Range("a1").Stíll = "Inntak"
Með því að nota stíla geturðu einnig auðveldlega greint frumugerðir á vinnublaðinu þínu. Dæmið hér að neðan mun fara í gegnum allar frumurnar í vinnublaðinu og breyta hvaða reit sem er með Style = „Input“ í „InputLocked“:
Dimm klefi sem svið
Fyrir hvern klefi í ActiveSheet.Cells
Ef Cell.Style = "Inntak" þá Cell.Style = "InputLocked"
End If
Næsta klefi