Knowledge Base |

# Visual Basic Macro to Concatenate Columns of Data

Article ID: 113237

Article Last Modified on 10/10/2006

APPLIES TO

- Microsoft Excel 2000 Standard Edition
- Microsoft Excel 97 Standard Edition

This article was previously published under Q113237

## SUMMARY

In Microsoft Excel, you can use a macro to concatenate the data in two adjacent columns and display the result in the column to the right of the columns that contain your data. This article contains a sample Microsoft Visual Basic for Applications 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, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

### Sample Visual Basic Procedure

        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
          Loop

       End 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.

### To Use the Macro in Microsoft Excel 97

1. Open the workbook which contains the data.
2. Press ALT+F11 to activate the Visual Basic Editor.
3. Click Module on the Insert menu to insert a module. Type the macro above in the module's code window.
4. Click Close and Return to Microsoft Excel on the File menu.
5. Select the worksheet that contains the data that you want to concatenate.
6. Click the top cell in the right-hand column of data that you want to concatenate. For example, if cells A1:A100 and B1:B100 contain data, click cell B1.
7. Point to Macros on the Tools menu and click Macro. Select the ConcatColumns macro, and click Run.

### To Use the Macro in Microsoft Excel 5.0 or 7.0

1. Open the workbook which contains the data.
2. Point to Macro on the Insert menu and click Module to insert a Visual Basic module in the workbook. Type the macro above on the module sheet.
3. Select the worksheet that contains the data that you want to concatenate.
4. Click the top cell in the right-hand column of data that you want to concatenate. For example, if cells A1:A100 and B1:B100 contain data, click cell B1.
5. On the Tools menu, click Macro, click the ConcatColumns macro, and click Run.

## REFERENCES

For additional information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:

163435 VBA: Programming Resources for Visual Basic for Applications

226118 OFF2000: Programming Resources for Visual Basic for Applications

Additional query words: 5.00c 8.00 97 XL97 XL7 XL5 operator ampersand XL

Keywords: kbdtacode kbhowto kbprogramming KB113237