This post may contain affiliate links. Please read my disclosure for more info.

How to add a prefix or suffix to every cell using VBA

VBA Code Snippets

We can often find spreadsheets with cells containing codes that have been shortened.  So, rather than Proj003412, the cell value has been reduced to just 3412.  It’s not a big problem to extend the code back to the full version; we could achieve that with a simple formula, then copy and paste special values.  If we have to do this regularly, it can start to become time-consuming.

I decided to write a macro to speed up the process.  In this post, I will show you how to use that marco to add a  prefix or suffix to every cell.

Download the example file
I recommend you download the files which support this post, as you’ll be able to work along with examples.  This is the best way to learn.  You’ll be able to see the solutions in action, plus the file will be useful for future reference.  The support files are available for FREE to newsletter subscribers.

Click below to subscribe and gain access to the subscriber area.  You will also receive:

  • My favorite tips and tricks direct to your inbox
  • Exclusive content (which is only available to subscribers)
  • FREE tools and downloads

Download Icon

If you’re already a subscriber, click here to log-in to the subscriber downloads area.

The filename for this post is 0007 Add prefix or suffix with VBA.zip.

Warning! – Macros cannot be undone.  Before using the code in this post, test it to make sure it works as you expect.

The VBA code

There are two separate VBA codes below.

To make the code reusable, your Personal Macro Workbook is the best place to save the macro.

Add prefix

Sub AddPrefix()

Dim c As Range
Dim prefixValue As Variant

'Display inputbox to collect prefix text
prefixValue = Application.InputBox(Prompt:="Enter prefix:", _
Title:="Prefix", Type:=2)

'The User clicked Cancel
If prefixValue = False Then Exit Sub

'Loop through each cellin selection
For Each c In Selection

    'Add prefix where cell is not a formula or blank
    If Not c.HasFormula And c.Value <> "" Then

        c.Value = prefixValue & c.Value

    End If

Next

End Sub

Add suffix

Sub AddSuffix()

Dim c As Range
Dim suffixValue As Variant

'Display inputbox to collect prefix text
suffixValue = Application.InputBox(Prompt:="Enter Suffix:", _
Title:="Suffix", Type:=2)

'The User clicked Cancel
If suffixValue = False Then Exit Sub

'Loop through each cellin selection
For Each c In Selection

    'Add Suffix where cell is not a formula or blank
    If Not c.HasFormula And c.Value <> "" Then

        c.Value = c.Value & suffixValue

    End If

Next

End Sub

Become a VLOOKUP master with the Advanced VLOOKUP Cheat Sheet

Advanced VLOOKUP Cheat Sheet Image

  • Faster Calculation
  • VLOOKUP to the left
  • Automatically change the column number
  • Lookup with multiple criteria
  • Lookup with rows and columns
  • Wildcards

Download the VLOOKUP Cheat Sheet today!

Click the button below to subscribe, you’ll gain access to the subscriber area in which you can download the cheat sheet.

Download Icon (on mid-green background)

How to use the codes

To use the macro, follow these steps:

    1. Select the cells which contain the current values
      Select cells to change
    2. Depending on your needs, run the AddPrefix, or AddSuffix macro.
    3. An Input Box will appear, enter the text string you wish to add to the start (for prefix) or end (for suffix) of each cell,  then click OK.
      Enter the prefix
    4. Ta-dah! The values will be updated.  How speedy was that! 🙂
      After the macro has been executed

The macro will not change cells that are blank or contain formulas.

Don’t forget:

If you’ve found this post useful, or if you have a better approach, then please leave a comment below.

Do you need help adapting this to your needs?

I’m guessing the examples in this post didn’t exactly meet your situation.  We all use Excel differently, so it’s impossible to write a post that will meet everybody’s needs.  By taking the time to understand the techniques and principles in this post (and elsewhere on this site) you should be able to adapt it to your needs.

But, if you’re still struggling you should:

  1. Read other blogs, or watch YouTube videos on the same topic.  You will benefit much more by discovering your own solutions.
  2. Ask the ‘Excel Ninja’ in your office.  It’s amazing what things other people know.
  3. Ask a question in a forum like Mr Excel, or the Microsoft Answers Community.  Remember, the people on these forums are generally giving their time for free.  So take care to craft your question, make sure it’s clear and concise.  List all the things you’ve tried, and provide screenshots, code segments and example workbooks.
  4. Use Excel Rescue, who are my consultancy partner.   They help by providing solutions to smaller Excel problems.

What next?
Don’t go yet, there is plenty more to learn on Excel Off The Gird.  Check out the latest posts:

 

Leave a Reply

Your email address will not be published. Required fields are marked *