Excel VBA CONCATENATE String

There are two ways to “excel vba concatenate string”: the quick way you copy and the durable way you understand. This page gives you both. The exact Excel answer is above; below, we build the small mental model that makes the fix stick, so the next variation of the same problem solves itself.

Exact answer

In Excel: paste Sub Macro1() into the VBA editor (Alt + F11Insert ▸ Module), press F5 to run, and save as .xlsm to keep the macro.

VBA macro: Concatenate String

Sub Macro1()
    ' concatenate string — replace the body with your steps
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ' ... your code here ...
End Sub

How to run this macro

  1. Press Alt + F11 to open the VBA editor.
  2. Insert > Module.
  3. Paste the code above.
  4. Press F5, or close the editor and run it from Developer > Macros.
  5. Save the file as .xlsm so the macro is kept.
Annotated stepsExcel
1

Press Alt + F11 to open the VBA editor.

2

Insert ▸ Module.

3

Paste the code above.

4

Press F5 (or close the editor and run it from Developer ▸ Macros).

5

Save the file as .xlsm so the macro is kept.

Ctrl+CthenCtrl+Shift+V+Cthen+Ctrl+VPaste values · WindowsMac

What this does

Sub Macro1() is a ready-to-run VBA macro that handles concatenate string without manual effort. VBA (Visual Basic for Applications) is Excel's built-in automation language: it can read every cell, loop through thousands of rows, and make decisions in milliseconds. To use it, open the VBA editor with Alt + F11, create a Module, paste the code, and press F5. The Concatenate String macro will run immediately — no add-ins, no external tools, just Excel doing exactly what the code tells it to do. Most people learn this as a sequence of clicks and forget it by next week; learning it as a pattern instead is what lets you apply it to the next, slightly different version of the problem without starting from scratch. That is the difference this page is trying to make. Treat “excel vba concatenate string” as a small repeatable workflow rather than a one-off click you hope to remember next time. Use a small test block before the live file, so any surprise in the affected cells shows up while it is still harmless. When this is a ribbon command, the selection matters more than the button: confirm the range, apply the command, then spot-check the output before saving. That turns a text operation that turns messy entries into clean, usable data into a method you can reuse, explain, and defend when the workbook leaves your screen.

A worked example

Practical use: you run the same concatenate string task every month on a new export. Instead of repeating the steps manually, paste Sub Macro1() once into a Personal Macro Workbook (or into the workbook itself), and run it each month via Developer ▸ Macros ▸ Run. The Concatenate String macro applies the same logic to every fresh dataset — consistent, repeatable, and immune to copy-paste slips. Use Sub Macro1() every time you need to concatenate string reliably at scale. The macro eliminates the most common sources of error in manual work: missed rows, wrong column references, and inconsistent criteria. Once the code is tested and trusted, you can run it repeatedly with one click — zero cognitive overhead, zero variation in output. One habit worth forming early: name the cells that hold your inputs, so the formula reads in plain language instead of a string of cell addresses. A reviewer — or you in three months — can then follow the logic without decoding what B7 and D2 were supposed to mean, which is most of what makes a sheet maintainable.

In Google Sheets

If you are in Google Sheets rather than Excel, the good news is that the formula shown here is identical and the workflow barely changes — menus sit across the top instead of in a ribbon, and a few function names differ slightly, but anything you build here moves across with little or no rework. Nothing on this page is behind a login: the tool runs entirely in your browser, the formula is shown in full with one-click copy, and the steps work the same on Windows and Mac. That is the whole promise here — the exact answer, a way to prove it on your own numbers, and just enough context to make it stick. Here is the takeaway for “excel vba concatenate string”: copy the answer if you are busy, but if you have a spare few minutes, rebuild the example in Excel yourself with the tool above open beside it. That single pass — type it, run it, watch the result move when you change an input — is what turns a formula you found into a technique you trust. Keep your inputs labelled and referenced, never hard-coded, and the same sheet stays correct and auditable as it grows. Done that way, you will not need to look this up again, and you will be the person others ask.

Common mistakes

  • Saving as .xlsx instead of .xlsm — Excel strips all VBA code when you save in the non-macro-enabled format. Always choose "Excel Macro-Enabled Workbook (.xlsm)" from the Save As dialog.
  • Running the macro on the wrong sheet — Sub Macro1() acts on ActiveSheet by default. If you have multiple sheets open, click the correct sheet tab first before pressing Run.
  • Macros are disabled — if you see a security warning bar, click Enable Content. If there is no bar at all, set File ▸ Options ▸ Trust Center ▸ Trust Center Settings ▸ Macro Settings to "Disable VBA macros with notification", which is the safe default that still lets you approve a file per workbook. Do not select "Enable all macros": it removes the only warning you get before a hostile workbook executes.

Frequently asked questions

How do I run the Concatenate String macro?

Press Alt + F11 to open the VBA editor, insert a Module (Insert ▸ Module), paste Sub Macro1() into the code pane, and press F5. Alternatively close the editor and run it from Developer ▸ Macros ▸ select "Macro1" ▸ Run.

Why won't my macro run — macros are disabled?

Excel blocks macros by default for files downloaded from the internet. Click the yellow security bar and choose "Enable Content" — that trusts this one workbook and is all that is normally needed. Leave File ▸ Options ▸ Trust Center ▸ Trust Center Settings ▸ Macro Settings on "Disable VBA macros with notification" rather than switching to "Enable all macros", which Microsoft itself marks not recommended. If the bar is red instead of yellow, the file carries Mark of the Web: close Excel, right-click the file, open Properties and tick Unblock. Also ensure the file is saved as .xlsm, not .xlsx.

Can I undo what the Concatenate String macro did?

No — VBA actions generally cannot be undone with Ctrl+Z because they bypass Excel's undo stack. Always test Sub Macro1() on a backup copy of the workbook before running it on live data, or add explicit validation logic inside the macro before the destructive step.

Other ways people ask this

People reach this page typing “concatenate string excel vba”, “excel vba string size” and “excel vba concatenate strings”, among other phrasings; whichever wording you used, the fix above is the one you want.

Why do people search for this in so many different ways?

Because the same task has many names. “concatenate string excel vba”, “excel vba string size”, “excel vba concatenate strings” all point at the one operation explained on this page, which is why they all lead here.