Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and 2021. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Making a Cell's Contents Italics within a Macro.
Written by Allen Wyatt (last updated March 24, 2025)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
If you are writing macros using VBA, it is not uncommon to process data and place the results of your processing into cells in a worksheet. If desired, you can also make the results in an italics typeface so that they stand out. You do this by setting the Italic property of the Font object for a selection.
For instance, if you wanted to make the contents of cell A1 italics, you could use the following in your macro:
Cells(1, 1).Font.Italic = True
Likewise, if you wanted to make the currently selected cell italics, you could use the following code:
Selection.Font.Italic = True
If you wanted to explicitly turn off the italics attribute of a particular cell, all you need to do is change True to False in the foregoing examples.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9307) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021. You can find a version of this tip for the older menu interface of Excel here: Making a Cell's Contents Italics within a Macro.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
Need to select a range of cells in a column? This tip can help, as it shows how to select from a specific cell all the ...
Discover MoreStrings are used quite frequently in macros. You may want to swap the contents of two string variables, and you can do so ...
Discover MoreYou can easily use formulas to pull apart text stored in a cell. For instance, if you need to pull individual characters ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2025-03-27 14:22:24
Kiwerry
@ J. Woolley: Thanks for the tip about the SetChars function, I'll bear it in mind. My need is currently limited to adding a code fragment to highlight some characters in a cell into a loop which is currently handling that specific cell
2025-03-26 15:59:56
J. Woolley
My Excel Toolbox includes the following function to set font properties for a limited number of characters (Start, Count) in each cell of Target's range:
=SetChars(Target, Start, Count,
[Name], [Size], [Style], [Color], [Underline], [Strikethrough],
[Superscript], [Subscript])
Target, Start, and Count are required; properties are optional and unchanged if not supplied. Only cells with a text constant are considered; others are ignored.
For example, to set the 4th and 5th characters of all cells in the range A1:A9 to size 14, bold, red font:
=SetChars(A1:A9, 4, 2, , 14, "Bold", "Red"))
If successful, SetChars returns Null, which is evaluated as an empty string ("") in a text formula, zero (0) in a numeric formula, or FALSE in a Boolean formula.
See https://sites.google.com/view/MyExcelToolbox/
2025-03-24 06:22:33
Kiwerry
@Brian: Thanks for the additional info!
2025-03-24 05:50:31
Brian
This can be extended to change part of the format of a cell contents. For example the make a date have superscript after the date (perhaps 24th)
Cells(1, 1).Characters(Start:=3, Length:=2).Font.Superscript = true
Clearly it need another to determine if the date is < 10.
This work for most (perhaps all) font styles - name, size, bold, colors, italics, underline, sub and superscript.
For example:
Cells(1, 1).Characters(Start:=1, Length:=2).Font.Name = "Arial"
Cells(1, 1).Characters(Start:=5, Length:=5).Font.Superscript = True
Cells(1, 1).Characters(Start:=8, Length:=3).Font.ColorIndex = 3
Cells(1, 1).Characters(Start:=12, Length:=3).Font.Underline = xlUnderlineStyleSingle
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments