How to quickly change font size based on cell value in Excel?

Change font size based on another column value
Change font size based on cell value and character length
Change font size based on another column value
To change the font size based on another column's value, here is a VBA code that can help you.
1. Go to the sheet which you want to change font size based on another column, and press Alt + F11 key simultaneously to open Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and then paste the VBA code below into the Module. See screenshot:
VBA: Change font size based on another column value
Sub fontchange()
'UpdatebyExtendoffice20160614
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Select cells that you want to change font size:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If (xRg.Areas.Count > 1) Or (xRg.Columns.Count > 1) Then
MsgBox "Only can select one column", vbInformation, "Kutools for Excel"
Exit Sub
End If
Application.ScreenUpdating = False
For Each xCell In xRg
xCell.Font.Size = xCell.Offset(, 1).Value
Next
Application.ScreenUpdating = True
End Sub
3. Press F5 key, a dialog will pop up, and select the cells you want to change their font size. See screenshot:
4. Click OK, and then the cells in the selected column have had their font sizes adjusted based on the values in the adjacent column.
Change font size based on cell value and character length
If you want to change the font size based on the cell’s own value or character length, for instance, when the cell value is greater than 10, or the character length is more than 5, then the font size change to 16, and font change to Arial, otherwise, the font size is 11, and font is Calibri as below screenshot shown.
1. Press Alt + F11 keys to enable Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste below code to Module script. See screenshot:
VBA: Change font size based on cell value or character length
Private Sub Worksheet_Calculate()
'UpdatebyExtendoffice20160614
Dim xCell As Range
For Each xCell In Range("G2:H9")
With xCell
If Len(.Text) > 5 Or Val(.Value) > 10 Then
.Font.Name = "Arial"
.Font.Size = 16
Else
.Font.Name = "Calibri"
.Font.Size = 11
End If
End With
Next
End Sub
3. Press F5 key to run the code, and the values which is greater than 10 or character length is more than 5 have been change their font to Arial and font size to 16.
Tip: In the above code, you can change range G2: B9 to other range as you want.
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
All Kutools add-ins. One installer
Kutools for Office suite bundles add-ins for Excel, Word, Outlook & PowerPoint plus Office Tab Pro, which is ideal for teams working across Office apps.





- All-in-one suite — Excel, Word, Outlook & PowerPoint add-ins + Office Tab Pro
- One installer, one license — set up in minutes (MSI-ready)
- Works better together — streamlined productivity across Office apps
- 30-day full-featured trial — no registration, no credit card
- Best value — save vs buying individual add-in