This post will guide you how to split cells with line break or carriage returns into multiple rows or columns in Excel. How do I split cell contents based on carriage returns into separate rows with Text to Columns in Excel. How to split Excel Cell with carriage returns into multiple rows using VBA Macro in Excel.
The Carriage returns also known as line breaks in Excel, and when you press “Alt+Enter” shortcut in a cell, one carriage returns will be generated. Or you copied the text string from other source, which already have the line breaks.
Table of Contents
Assuming that you have a list of data in range B1:B4, which contain text strings with carriage returns, and you want to split those cells based on the carriage returns or line breaks into separate rows or columns. How to achieve it. You can use the Text to Columns feature to achieve the result. just do the following steps:
#1 select the range of cells B1:B4 that you want to split.
#2 go to DATA tab, click Text to Columns command under Data Tools group. And the Text to Columns dialog box will open.
#3 choose the Delimited radio button under Original data type section. And click Next button.
#4 only check the Other check box in the Delimiters section, and select the text box of Other, and then press Ctrl + J shortcut in your keyboard. And you can see the expected result in the Data preview section. Click Next button.
#5 select one cell as the destination cell, such as: put the result in Cell C1, and you can type the value $C$1 in destination text box. and then click Finish button.
#6 let’s see the result:
You can also use an Excel VBA Macro to achieve the same result of splitting Cells with line breaks into multiple rows. Do the following steps:
#1 open your excel workbook and then click on “Visual Basic” command under DEVELOPER Tab, or just press “ALT+F11” shortcut.
#2 then the “Visual Basic Editor” window will appear.
#3 click “Insert” ->”Module” to create a new module.
#4 paste the below VBA code into the code window. Then clicking “Save” button.
Sub SplitCellsBaseLineBreak() Dim str() As String Dim myRng As Range Set myRng = Application.Selection Set myRng = Application.InputBox("select one range that you want to split", "SplitCellsBaseLineBreak", myRng.Address, Type:=8) For Each myCell In myRng If Len(myCell) Then str = VBA.Split(myCell, vbLf) myCell.Resize(1, UBound(str) + 1).Offset(0, 1) = str End If Next End Sub
#5 back to the current worksheet, then run the above excel macro. Click Run button.
#6 select one range that you want to split, such as B1:B4, click Ok button.
#7 Let’s see the result.
In this video tutorial, we will explore how to split cell contents based on carriage returns or line breaks throught two approaches: using the “Text to Columns” feature and creating a custom VBA macro in Excel.