Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2019, and Excel in Office 365. 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: Creating Two-Line Custom Formats.

Creating Two-Line Custom Formats

by Allen Wyatt
(last updated March 17, 2018)

10

Excel is quite flexible in how it allows you to set up custom formats for displaying all sorts of values. Most custom formats are straightforward and easy to figure out, once you understand how custom formats work. (Custom formats and how to set them up has been discussed fully in other issues of ExcelTips.)

What if you want to create a two-line custom format, however? For instance, you may want to format a date so that the abbreviated day of the week and day of the month is on the first line, followed by the unabbreviated name of the month on the second line. Using such a format, a date would appear in a single cell in this manner:

Sat 13
April

Most of this can be done by the custom format "ddd d mmmm", but you need to figure out a way to add a line break between the "d" and the "mmmm". Excel won't let you press Alt+Enter between them, which is what you normally do to add a line break.

The solution is to use the numeric keypad to enter the desired line break in the format. Follow these steps to set it up:

  1. Select the cells you want to format.
  2. Display the Home tab of the ribbon.
  3. Click the small icon at the bottom-right of the Number group. Excel displays the Number tab of the Format Cells dialog box.
  4. In the Category list, choose Custom. (See Figure 1.)
  5. Figure 1. The Number tab of the Format Cells dialog box.

  6. Delete whatever is in the Type box.
  7. Type "ddd d" without the quote marks.
  8. Hold down the Alt key while you press 0010 on the numeric keypad. This enters the line feed character, and it looks like the portion of the format you typed in step 6 disappears. It is not really gone; it has just moved up above what can be displayed in the Type box.
  9. Type "mmmm" without the quote marks.
  10. Click the Alignment tab. (See Figure 2.)
  11. Figure 2. The Alignment tab of the Format Cells dialog box.

  12. Make sure the Wrap Text check box is selected.
  13. Click OK.

After setting up the format in this manner, you will need to adjust the row height of the formatted cells so that the entire two lines of the date will display.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12587) applies to Microsoft Excel 2007, 2010, 2013, 2019, and Excel in Office 365. You can find a version of this tip for the older menu interface of Excel here: Creating Two-Line Custom Formats.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Controlling the Hidden Text Attribute

Want your macro to change the Hidden attribute for some text in your document? It's easier to change than you might think.

Discover More

Absolutely Getting Rid of Formatting

Need to get rid of the formatting applied to a bunch of text? One of the easiest ways to do this is to use Notepad in ...

Discover More

Copying Rows and Columns with the Mouse

Word allows you to do quite a few editing tasks using the mouse. If you want to copy rows or columns in a table, you can ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More ExcelTips (ribbon)

Dates with Periods

You may want Excel to format your dates using a pattern it doesn't normally use—such as using periods instead of ...

Discover More

Easy Value Hiding

Want a quick and easy way to hide the information in a cell? You can do it with a simple three-character custom format.

Discover More

Understanding Color and Conditional Formatting Codes

When you create custom cell formats, you can include codes that allow you to set the color of a cell and that specify the ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is five minus 0?

2019-06-27 06:24:13

nick soulsby

To Lorrie's point: The column width appears to need to be the same width as if there was no line break inserted, otherwise it displays as ####.
yes you can use a smaller font, but there is still a lot of "white space" used in the cell.
Any workarounds ?


2019-03-10 08:58:07

Willy Vanhaelen

@Lorrie
Use a smaler font.


2019-03-09 15:18:50

Lorrie Jo Williams

This worked, but the width of the cell still needs to be the width of the full text as one line to display (i.e., all I see is #####).
Is there a way to allow the column to be narrower?


2019-03-06 11:14:08

Willy Vanhaelen

@Peter
Here is a one-liner that does the job quicker because it doesn't use a loop

Sub FormatAddress()
Selection = Evaluate("IF({1},SUBSTITUTE(" & Selection.Address & ", "", "",CHAR(10)))")
End Sub

The Evaluate method uses Excel's SUBSTITUTE function and the IF function transforms it to an area formula.

@Cory
I think you want to split the address automatically at the moment you enter it. This can be done with this event macro (for column A):

Private Sub Worksheet_change(ByVal Target As Range)
If Target.Column <> 1 Or Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
Target = Replace(Target, ". ", vbLf)
Application.EnableEvents = True
End Sub

This macro must be entered in the code page of the sheet you want to use it in. Right click the sheet's tab and select "View Code...". That's the place to be.

If you want to use another column, adjust the column number in the first line: 2 for column B , 3 for C etc.


2019-03-05 10:15:26

Peter Atherton

Cory

This is best done with a macro. Try the following:

Sub FormatAddress()
'Make sure that you column is wide enough _
to take the longest part of the address _
before running the macro

Dim c As Range
Const Separator As String = ", "

For Each c In Selection
c = WorksheetFunction.Substitute(c, Separator, vbLf)
Next
End Sub

(see Figure 1 below)

Figure 1. 


2019-03-04 16:46:02

Cory

This is brilliant, however I'm trying to do it with addresses. Specifically, the user will type "123 Main St. Hometown, USA 12749" and I want it to auto-split after the first period. 1st line: 123 Main St. 2nd line Hometown, USA 12749"


2018-11-09 07:40:56

Cal

Hi Allen,


How do you perform this on a Mac?
Using the 'Option' key doesn't work.

Thanks


2018-11-07 08:21:01

Matt

Hi Allen

This tip doesn't seem to work when applying a format based on a conditional formatting rule. Do you know if there's a workaround for that case?

Thanks!


2018-11-05 10:41:54

Roy

You can always type the format string in a regular cell that wraps text so you can see it perfectly as you enter it. Then copy it (copy the cell contents IN the cell, not the cell itself, not the cell itself) and paste instead of typing to produce the custom format.

Except... it won't paste in the Alt-Enter. It brings it in as a space.

However, you can easily edit the string where the Alt-Enter's are needed. Since that is the only thing you are editing, and not the crafting of the string itself, you have no worries like the one you mention.

(Edit from the end, moving back, and you will always have everything at the start still displayed. It's easier to see you are putting them in the right place... because... after you place the first Alt-Enter, nothing after that is visible...)


2018-03-19 05:00:37

Tony Nixon

I don't know when I will need this but it certainly works, and I have tried it up to four lines, not just two. It is a little tricky not being able to see the format code you have actually created though, or at least check where you have put the line fee characters


This Site

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.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.