OK, I've tried to come up with something you can adapt and use.
Personally, I'd make a test folder and put copies of 1.xls through 50.xls
into it and run the code below against those files just in case things go
poorly. If it works, you can always copy the modified files back to the
original folder, overwriting those with the updated ones. This is a
'destructive' process, that is, it does make changes to at least one cell in
one sheet in each of the files, so best to work with copies of the files
initially.
Open a brand new workbook. Change the name of Sheet1 to SETUPSheet.
In cell A1 type in the full path to the 1.xls ... 50.xls files,
In cell A2 type in the name of the sheet in those workbooks that needs a
change
in cell A3 type the cell address that needs to be changed
in cell A4 type in the new data to write to those files
Press [Alt]+[F11] to open the VB Editor. Choose [Insert] --> Module and
copy the code below and paste it into that module. Close the VB Editor.
Save the workbook.
Use Tools --> Macro --> Macros to identify the macro and [Run] it. A
message should appear at the end telling you when all 50 workbooks have been
modified.
Here's the code:
Sub MakeMassChange()
'you need a worksheet named 'SETUPSheet' in this workbook.
'Cell A1 must hold the full path to the 1.xls ... 50.xls
'workbooks, like C:\Documents\Username\Stuff\MoreStuff
'Cell A2 must hold the name of the sheet that needs to
'be changed in the 1.xls ... 50.xls files. It MUST
'be spelled exactly like the name on the sheet tab
'in those 50 files.
'Cell A3 must hold the address of the cell to be changed
'like A3 or $B$55 or AA4 (with or with $ signs is ok)
'
'Cell A4 must hold the new value that is to be put into
'the cell shown in A3.
'
Dim anySheet As Worksheet
Dim nextFile As String
Dim fullPath As String
Dim LC As Integer
Const mySheetName = "SETUPSheet"
Dim fixSheetName As String
Dim fixCellAddress As String
Dim newValue As Variant
Set anySheet = ThisWorkbook.Worksheets(mySheetName)
fullPath = anySheet.Range("A1")
fixSheetName = anySheet.Range("A2")
fixCellAddress = anySheet.Range("A3")
newValue = anySheet.Range("A4")
Set anySheet = Nothing
If Right(fullPath, 1) <> Application.PathSeparator Then
fullPath = fullPath & Application.PathSeparator
End If
Application.ScreenUpdating = False
For LC = 1 To 50
nextFile = fullPath & Trim(Str(LC)) & ".xls"
Application.EnableEvents = False
Application.DisplayAlerts = False
Workbooks.Open nextFile
ActiveWorkbook.Worksheets(fixSheetName). _
Range(fixCellAddress) = newValue
ActiveWorkbook.Close True
Application.DisplayAlerts = True
Application.EnableEvents = True
Next ' go on to next file
MsgBox "Job Done"
End Sub