Ebben az oktatóanyagban megtanuljuk, hogyan lehet a Visual Basic for Applications (VBA) segítségével módosítani a szöveg méretét és stílusát egy Excel-cellában a cellatartalom alapján. Ez az oktatóanyag az Excel 365, 2021, 2019 és 2016 verziókra vonatkozik.
Előzetesek
Ha még nem ismeri az Excel VBA fejlesztését, azt javaslom, hogy mielőtt végignézné az oktatóanyagot, tekintse át az Excel VBA makró alapozóját.
A kódolás megkezdése előtt engedélyeznie kell a fejlesztői lapot az Excelben a menüszalagon, különben nem fogja tudni elérni a Visual Basic szerkesztőt.
Módosítsa az Excel cella szövegtulajdonságait a VBA segítségével
Határozza meg a táblázatot
Kezdjük egy Excel-táblázat meghatározásával, amelyet példaként fogunk használni. Nyugodtan használja ezt az oktatóanyagot.
- Nyissa meg a Microsoft Excelt, és hozzon létre egy új, makróképes Excel-munkafüzetet ( .xlsm ) Excel_Macros.xlsm néven.
- Mentse el a táblázatot a helyi meghajtóra.
- A Sheet1 munkalapon lépjen tovább, és adja hozzá az alábbi táblázatot:

- Most a Szalagról nyomja meg a Képletek gombot .
- Ezután nyomja meg a Név meghatározása gombot .
- Határozzon meg egy elnevezett tartományt, amelyre alkalmazni fogja a VBA-kódot az alábbiak szerint, majd nyomja meg az OK gombot .

A Cell.Font VBA tulajdonság használatával módosíthatja a betűtípus színét és stílusát
- Lépjen a Fejlesztő lapra.
- Ezután lépjen tovább, és nyomja meg a Visual Basic gombot.
- A bal oldali Project Explorerben jelölje ki az Excel_Macros.xlsm projektet, majd nyomja meg a Beszúrás gombot , és válassza a Modul lehetőséget .
- Létrejön egy új VBA-modul Module1 néven .
- Folytassa, és illessze be a következő kódot az újonnan létrehozott modulba:
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
- Nyomja meg a Mentés gombot a Visual Basic szerkesztőben.
- Most nyomja meg a Futtatás gombot , majd válassza a Sub/UserForm futtatása lehetőséget (vagy egyszerűen nyomja meg az F5 billentyűt).
- Lépjen az 1. munkalapra , és vegye észre a változásokat. Táblázatbejegyzéseihez szövegüknek megfelelően több színkódot rendeltünk (RGB színfunkcióval), emellett félkövérre állítottuk a szöveget és növeltük a méretét.

- Ha nem mentette el a kódot, nyomja meg a Mentés gombot (vagy Ctrl+S), majd mentse el a munkafüzetet is.
Hozzáférés a VBA makrójához
- Ne feledje, hogy kódja mindig rendelkezésre áll a futtatáshoz a Nézet lapon található Makrók parancsból (vagy a Fejlesztő | Makróknál)

Bónusz: Cell Style
Az Excel lehetőséget kínál cellastílusok létrehozására. A stílusok a Főoldal menüszalagon > Stílusok:

A stílusok lehetővé teszik a kívánt cellaformázás mentését. Ezután rendelje hozzá ezt a stílust egy új cellához, és az összes cellaformázás azonnal alkalmazásra kerül. Beleértve a betűméretet, a cella színét, a cellavédelmi állapotot és bármi mást, ami a Cell formázási menüből elérhető:

Személy szerint sok modellhez, amelyeken dolgozom, általában létrehozok egy „Bemeneti” cellastílust:
Tartomány("a1").Style = "Input"
A stílusok használatával könnyen azonosíthatja a cellatípusokat a munkalapon. Az alábbi példa végigfut a munkalap összes celláján, és a Style = „Input” cellát „InputLocked” értékre módosítja:
Dim Cell tartományként
Az ActiveSheet.Cells minden egyes cellájához
Ha Cell.Style = "Input" akkor Cell.Style = "InputLocked"
Vége Ha
Következő cella