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: Join the free Insiders Program and gain access to the example file used for this post.
File name: 0007 Add suffix or prefix with VBA.zip
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
How to use the codes
To use the macro, follow these steps:
- Select the cells which contain the current values
- Depending on your needs, run the AddPrefix, or AddSuffix macro.
- 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.
- Ta-dah! The values will be updated. How speedy was that! 🙂
The macro will not change cells that are blank or contain formulas.
Discover how you can automate your work with our Excel courses and tools.
Excel Academy
The complete program for saving time by automating Excel.
Excel Automation Secrets
Discover the 7-step framework for automating Excel.
Office Scripts: Automate Excel Everywhere
Start using Office Scripts and Power Automate to automate Excel in new ways.
Thank you for this, I have a similar sub but I include a choice at start for ading at start, end or to fill the cell. Mine doesn’t include hasformula but I will add it.
It’s quite a useful code to have in the library for those times when it comes in handy.