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 = xlHAlignCenter 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 (3131) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Aligning Cells when Importing from CSV.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!
When working with multiple workbooks open, you may want a way to close them all with a single command. Here's the secret.
Discover MoreIf you don't like the way that Excel exports information you intend to use with other programs, then your best bet is to ...
Discover MoreWhen you double-click on a workbook in Windows, the Excel program should be started and the workbook loaded. When this ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2020-06-05 14:31:50
David Anderson
Cool. Thanks for that little macro. Just what the doctor ordered.
Note: there is a typo in the '>' case, xlHAlignCenter should be xlHAlignRight.
Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2021 Sharon Parq Associates, Inc.
Comments