bottom
Great ExcelTips!
         
Your e-mail address is safe!
Close Note

Tips.Net > ExcelTips Home > Files > Aligning Cells when Importing from CSV

Aligning Cells when Importing from CSV

Summary: When importing values from a CSV text file, you may want to include some sort of way to automatically align the information that is imported. Excel doesn’t provide such a feature, but you can create a macro that will do the alignment for you, based on indicators you include in the CSV file. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, and Excel 2003.)

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), and 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.

Tip #3131 applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003


Tame Your Data! ExcelTips: Filters and Filtering provides all the details necessary to let you manage large sets of data with confidence and ease. Its information-packed pages demonstrate how to use the two types of filters provided by Excel: AutoFilters and advanced filters.
 
Check out ExcelTips: Filters and Filtering today!

Helpful Links

Ask an Excel Question
Make a Comment

Tips.Net Home
Vital News Home

ExcelTips FAQ
ExcelTips Premium

Learn Access Now

Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

 

Great Info!

Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your e-mail address and click "Subscribe."
     
(Your e-mail address will never be shared with anyone, ever.)