Šajā apmācībā mēs uzzināsim, kā izmantot Visual Basic for Applications (VBA), lai mainītu teksta lielumu un stilu Excel šūnā, pamatojoties uz šūnas saturu. Šī apmācība attiecas uz Excel 365, 2021, 2019 un 2016.
Priekšsacīkstes
Ja esat iesācējs Excel VBA izstrādē, es iesaku pirms apmācības izlasīt mūsu Excel VBA makro sākumlapu.
Pirms kodēšanas sākuma lentē jāiespējo izstrādātāja cilne programmā Excel , jo pretējā gadījumā nevarēsit piekļūt savam Visual Basic redaktoram.
Mainiet Excel šūnas teksta rekvizītus, izmantojot VBA
Definējiet savu izklājlapu
Sāksim ar Excel izklājlapas definēšanu, ko izmantosim kā piemēru. Izmantojiet to, lai sekotu šai apmācībai.
- Atveriet programmu Microsoft Excel un izveidojiet jaunu Macro Enabled Excel Workbook ( .xlsm ) ar nosaukumu Excel_Macros.xlsm
- Saglabājiet izklājlapu vietējā diskā.
- Darblapā Sheet1 dodieties uz priekšu un pievienojiet tālāk redzamo tabulu.

- Tagad no lentes noklikšķiniet uz Formulas .
- Pēc tam nospiediet Definēt nosaukumu .
- Definējiet nosaukto diapazonu, kuram lietosit savu VBA kodu, kā parādīts tālāk, un nospiediet OK .
![Kā iestatīt Excel teksta fonta krāsu, izmantojot VBA? Kā iestatīt Excel teksta fonta krāsu, izmantojot VBA?]()
Izmantojiet Cell.Font VBA rekvizītu, lai mainītu fonta krāsu un stilu
- Pārejiet uz cilni Izstrādātājs .
- Tālāk dodieties uz priekšu un nospiediet pogu Visual Basic .
- Kreisajā pusē Project Explorer iezīmējiet Excel_Macros.xlsm projektu, pēc tam nospiediet Ievietot un izvēlieties Modulis .
- Tiks izveidots jauns VBA modulis ar nosaukumu Module1 .
- Turpiniet un ielīmējiet šo kodu jaunizveidotajā modulī:
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 redaktorā nospiediet pogu Saglabāt .
- Tagad nospiediet Run un pēc tam izvēlieties Palaist apakšgrupu/lietotāja veidlapu (vai vienkārši nospiediet F5).
- Pārejiet uz darblapu Sheet1 un ievērojiet izmaiņas. Jūsu tabulas ierakstiem tika piešķirti vairāki krāsu kodi atbilstoši to tekstam (izmantojot RGB krāsu funkciju), un mēs arī iestatījām tekstu treknrakstā un palielinājām tā lielumu.
![Kā iestatīt Excel teksta fonta krāsu, izmantojot VBA? Kā iestatīt Excel teksta fonta krāsu, izmantojot VBA?]()
- Ja neesat saglabājis savu kodu, nospiediet pogu Saglabāt (vai Ctrl+S), pēc tam saglabājiet arī darbgrāmatu.
Piekļūstiet savam VBA makro
- Ņemiet vērā, ka jūsu kods vienmēr ir pieejams, lai palaistu komandu Makro, kas atrodas cilnē Skats (vai arī sadaļā Izstrādātājs | Makro).
![Kā iestatīt Excel teksta fonta krāsu, izmantojot VBA? Kā iestatīt Excel teksta fonta krāsu, izmantojot VBA?]()
Bonuss: šūnu stils
Excel piedāvā iespēju izveidot šūnu "stilus". Stilus var atrast Sākumlapas lentē > Stili:
![Excel vba fontu stili]()
Stili ļauj saglabāt vēlamo šūnu formatējumu. Pēc tam piešķiriet šo stilu jaunai šūnai, un uzreiz tiek lietots viss šūnas formatējums. Ieskaitot fonta lielumu, šūnu krāsu, šūnu aizsardzības statusu un visu citu, kas pieejams šūnu formatēšanas izvēlnē:
![šūnu formatēšanas izvēlne Excel]()
Personīgi daudziem modeļiem, pie kuriem strādāju, es parasti izveidoju “Ievades” šūnu stilu:
Diapazons("a1").Style = "Ievade"
Izmantojot stilus, darblapā varat arī viegli noteikt šūnu tipus. Tālāk sniegtajā piemērā tiks veiktas visas darblapas šūnas un jebkura šūna ar Style = “Input” tiks mainīta uz “InputLocked”.
Dim Cell kā diapazons
Katrai šūnai ActiveSheet.Cells
Ja Cell.Style = "Ievade" tad Cell.Style = "InputLocked"
Beigas Ja
Nākamā šūna