You are currently offline, waiting for your internet to reconnect

VBA macro to concatenate columns of data in Excel

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article was previously published under Q213477
SUMMARY
In Microsoft Excel, you can use a macro to concatenate the data in twoadjacent columns and to display the result in the column to the right of thecolumns that contain your data. This article contains a sample MicrosoftVisual Basic for Applications (VBA) macro (Sub procedure) to accomplish this.
MORE INFORMATION
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Sample Visual Basic for Applications (VBA) macro

Sub ConcatColumns()   Do While ActiveCell <> ""  'Loops until the active cell is blank.      'The "&" must have a space on both sides or it will be      'treated as a variable type of long integer.      ActiveCell.Offset(0, 1).FormulaR1C1 = _         ActiveCell.Offset(0, -1) & " " & ActiveCell.Offset(0, 0)      ActiveCell.Offset(1, 0).Select   LoopEnd Sub				
NOTE: The statement ActiveCell.Offset(0, 1).FormulaR1C1 can be replaced with the statement ActiveCell.Offset(0, 1).Formula. They can be used with equal success if you are using text and numbers only (not formulas). The R1C1 used at the end of the first statement refers to row one, column one and is the form used in examples in Help.

How to use the macro in Microsoft Office Excel 2007

  1. Open the workbook that contains the data.
  2. Press ALT+F11 to start the Visual Basic Editor.
  3. On the Insert menu, click Module to insert a module. Type the macro in the module's code window.
  4. On the File menu, click Close and Return to Microsoft Excel.
  5. Select the worksheet that contains the data that you want to concatenate.
  6. Click the top cell in the right column of data that you want to concatenate. For example, if cells A1:A100 and B1:B100 contain data, click cell B1.
  7. Click the Developer tab. If the Developer tab is not displayed, follow these steps:
    1. Click the Microsoft Office Button, and then click Excel Options.
    2. Click Popular.
    3. Click to select the Show Developer tab in the Ribbon check box.
    4. Click OK to close the Excel Options dialog box.
  8. Click Macros in the Code group.
  9. Select the ConcatColumns macro, and then click Run.

How to use the macro in Microsoft Office Excel 2003 and in earlier versions of Excel

  1. Open the workbook that contains the data.
  2. Press ALT+F11 to start the Visual Basic Editor.
  3. On the Insert menu, click Module to insert a module. Type the macro in the module's code window.
  4. On the File menu, click Close and Return to Microsoft Excel.
  5. Select the worksheet that contains the data that you want to concatenate.
  6. Click the top cell in the right column of data that you want to concatenate. For example, if cells A1:A100 and B1:B100 contain data, click cell B1.
  7. On the Tools menu, point to Macros, and then click Macro. Select the ConcatColumns macro, and then click Run.
REFERENCES
For more information about Visual Basic for Applications, click the following article number to view the article in the Microsoft Knowledge Base:
226118 List of resources that are available to help you learn Visual Basic for Applications programming
5.00c 8.00 XL5 operator ampersand XL2000 XL xl2003 XL2003 xl2007
Properties

Article ID: 213477 - Last Review: 09/18/2011 22:41:00 - Revision: 6.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 2010, Microsoft Office Excel 2003

  • kbexpertiseinter kbdtacode kbhowto kbprogramming KB213477
Feedback
"display:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">