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
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.
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.