Skip to main content

Kutools for Office — One Suite. Five Tools. Get More Done.

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

Author Sun Last modified
A screenshot showing a table in Excel with varying font sizes based on values in the adjacent column
In Excel, you can change cell font size as you want, but have you ever tried changing the font size based on another column's value, as shown in the screenshot below? In this article, I introduce some VBA code to help you 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

arrow blue right bubble 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

A screenshot showing the pasted code in the VBA editor

3. Press F5 key, a dialog will pop up, and select the cells you want to change their font size. See screenshot:
A screenshot showing the 'Select cells that you want to change font size' dialog

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.
A screenshot showing the result in Excel after running the VBA code, where font size is adjusted based on adjacent column values


arrow blue right bubble 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.
A screenshot of Excel showing a cell with a font size of 16 and Arial font, and another with a font size of 11 and Calibri font, based on value and character length

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

A screenshot showing the pasted code in the VBA editor

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

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions…
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!

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.

Excel Word Outlook Tabs PowerPoint
  • 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