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
With Kutools for Excel's Select Specific Cells utility, you can select cells/row/columns based on one ore two criteria, then format them as you need, such change the font size, background and so on.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
To change font size based on another column value, here is a VBA code 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 below VBA to 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 pops out, and select the cells you want to change their font size. See screenshot:
4. Click OK, and then the cells in selected column have been adjusted the font size based on values in next to column.
|Kutools for Excel, with more than 120 handy Excel functions, enhance your working efficiency and save your working time.|
In other hand, if you want to change the font size based on 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 above code, you can change range G2: B9 to others as you want.