top of page

Excel VBA Code to find and replace strings in specified cell range in multiple files


You can use the below vba code to find and replace multiple sets of strings in a specified range of cells for all Excel files in a particular directory.

In the below example, the code is set to replace all examples of the entries set by the 'What:=' command in the first row of the first worksheet. If you want to only have the find and replace operate on columns A to D in the first row, you would edit:

Worksheets(1).Rows("1").Replace _

. . . to:

Worksheets(1).Range("A1:D1").Replace _

Note that each successive range needs to include these three lines listing the worksheet and range, the find term & replace term, and the settings for the letter case and search order.

Worksheets(1).Rows("1").Replace _ What:="&", Replacement:="AND", _ SearchOrder:=xlByColumns, MatchCase:=True

The directory containing the files with the data to be replaced is set at the beginning of the macro.

Sub LoopThroughFiles() FolderName = "R:\Firm\Scannings\osheas\2017.11.21 A4552.0021 Remainder\part 1 v2\process\xls\" If Right(FolderName, 1) <> Application.PathSeparator Then FolderName = FolderName & Application.PathSeparator fname = Dir(FolderName & "*.xls") 'loop through the files Do While Len(fname) With Workbooks.Open(FolderName & fname) ' here comes the code for the operations on every file the code finds Worksheets(1).Rows("1").Replace _ What:="&", Replacement:="AND", _ SearchOrder:=xlByColumns, MatchCase:=True Worksheets(1).Rows("1").Replace _ What:="-", Replacement:="_", _ SearchOrder:=xlByColumns, MatchCase:=True Worksheets(1).Rows("1").Replace _ What:="%", Replacement:="perect", _ SearchOrder:=xlByColumns, MatchCase:=True Worksheets(1).Rows("1").Replace _ What:="=", Replacement:="equals", _ SearchOrder:=xlByColumns, MatchCase:=True Worksheets(1).Rows("1").Replace _ What:="<", Replacement:="_", _ SearchOrder:=xlByColumns, MatchCase:=True Worksheets(1).Rows("1").Replace _ What:="$", Replacement:="dollar", _ SearchOrder:=xlByColumns, MatchCase:=True ActiveWorkbook.Close SaveChanges:=True End With ' go to the next file in the folder fname = Dir Loop End Sub


Sean O'Shea has more than 20 years of experience in the litigation support field with major law firms in New York and San Francisco.   He is an ACEDS Certified eDiscovery Specialist and a Relativity Certified Administrator.

​

The views expressed in this blog are those of the owner and do not reflect the views or opinions of the owner’s employer.

​

If you have a question or comment about this blog, please make a submission using the form to the right. 

Your details were sent successfully!

© 2015 by Sean O'Shea . Proudly created with Wix.com

bottom of page