Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 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: Aligning Cells when Importing from CSV.
Written by Allen Wyatt (last updated December 12, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
Marinos works with CSV files a lot. In his case, the CSV files are created by a custom application and he found that he can even include formulae in them. So if a line of the CSV file contains ",,,Total:,=SUM(D5:D13),,,," the formula is evaluated and all is fine. One thing Marinos wants to do, however, is indicate in the CSV file how individual cells should be justified after they are imported into Excel. He seems to remember that in Lotus 123 he could use a prefix character to indicate the alignment of the cell (' for left, ^ for middle, and " for right); he figures the same capability would be great in Excel.
There is no way to do this in Excel; alignment of imported data is based on system defaults, such that text is left-justified, and numbers are right-justified. One option, however, would be to add a prefix character that you could then later "parse" with a macro to apply the desired alignment. For instance, you could use "<" for left, "^" for center, and ">" for right. When Excel imports the CSV files, the fields are treated as text. You can then run this macro to search for the leading alignment character and do the desired action:
Sub SetJustification() Dim rCell As Range For Each rCell In ActiveSheet.UsedRange With rCell Select Case Left(.Value, 1) Case "<" .Value = Mid(.Value, 2) .HorizontalAlignment = xlHAlignLeft Case "^" .Value = Mid(.Value, 2) .HorizontalAlignment = xlHAlignCenter Case ">" .Value = Mid(.Value, 2) .HorizontalAlignment = xlHAlignRight End Select End With Next Set rCell = Nothing End Sub
The macro checks each cell in the worksheet. If the cell begins with an alignment character, then the character is removed, and the proper alignment is applied.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (8709) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Aligning Cells when Importing from CSV.
Excel Smarts for Beginners! Featuring the friendly and trusted For Dummies style, this popular guide shows beginners how to get up and running with Excel while also helping more experienced users get comfortable with the newest features. Check out Excel 2013 For Dummies today!
If you need to stuff the current workbook's filename and path into a cell or a header or footer, you'll appreciate the ...
Discover MoreIt is often necessary to import information from other programs into Excel. Sometimes this can lead to challenges, such ...
Discover MoreExcel keeps track of the most recent workbooks you've used. If you want to access that information in a macro, you'll ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-12-12 09:27:24
Alex
Another option would be to paste as values-only into a template set up with the desired alignment, if it's a repeated process. Ctl + Shift + V is the kb shortcut for that if anyone, like me a few months ago, didn't know.
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 © 2024 Sharon Parq Associates, Inc.
Comments