Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a directory with 20 spreadsheets. Some are xlsx and some are xlsm. I need to replace all instances of "foo", with "bar" in each sheet in each file. I'm using windows.

I'm on Windows so I don't think this perl command line would work.

I'm nervous about using ReplaceText (formerly BKReplacem) because of the big red warning ("Replace Text is no longer supported and has known problems with some Windows 7 installations.")

Tools like TextCrawler, TextPad, Notepad++, etc. don't look promising because they only seem to work with plain text files.

I tried IceTeaReplacer but it doesn't seem to work with .xlsm files.

The ExcelPipe 30-day trial version does the trick, but unfortunately isn't free.

How might one accomplish this, other than the obvious (but slow) solution of opening all 20 files and doing a find/replace?

share|improve this question
Why not just use Excel? – Ƭᴇcʜιᴇ007 Mar 11 '13 at 18:07
@techie007 Not sure, none of these address replacing text in Excel, do they? – Daniel Beck Mar 11 '13 at 20:13
@Daniel You're right. None of the questions were quite what I'm looking for but this answer might work for me. I'll try it out and update my question accordingly. – sgryzko Mar 11 '13 at 22:31
Darn! IceTeaReplacer doesn't seem to work on .xlsm files. – sgryzko Mar 11 '13 at 22:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.