Ох, уж этот мне
Ongo!
Это ж надо - за живое зацепил. Я работу похерил, но примерный макрос наваял!

(заранее извиняюсь перед аксакалами VBA за моральные страдания, которые я им причиню неоптимизированным, корявым и вообще ламерским макросом - я на VBA, Бог миловал, не пишу и вообще его не люблю) (да, я даже не удалил лишние переменные, которые появились по ходу дебага (наверное)

)
Сначала инструкции:
1. сохраняешь бэкап старого документа
2. открываешь БОЛЬШОЙ документ (не переколбашенный, со всеми внутренними листами)
3. кликаешь "записать макрос"
4. выключаешь запись макроса.
5. открываешь созданный макрос, в его теле заменяешь все на:
CODE
'
' LocalToGlobal Macro
' Macro recorded 03.02.2006 by FUriCK
'
Dim wsh
Dim Filename
Dim newPath
maxColumns = 1000
maxRows = 1000
Dim OrigWB
Set OrigWB = ActiveWorkbook
newPath = OrigWB.Path + "\"
Dim OrigSheets
Set OrigSheets = OrigWB.Sheets
For Each wsh In OrigSheets
'Save the all sheets to different files:
FN = newPath + wsh.Name + ".xls"
wsh.Select
wsh.Copy
ActiveWorkbook.SaveAs Filename:=FN, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'wsh.SaveAs Filename
OrigWB.Activate
Next wsh
Dim cellVal As String
For Each wsh In OrigSheets
'replace the other sheets names with global links:
For Each other_wsh In OrigSheets
If other_wsh.Name <> wsh.Name Then
For rw = 1 To wsh.UsedRange.Rows.Count
For cl = 1 To wsh.UsedRange.Columns.Count
'If wsh.Cells(rw, cl).HasFormula Then
cellVal = wsh.Cells(rw, cl).FormulaLocal
If InStr("=", cellVal) = 0 Then
cellVal = Replace(cellVal, other_wsh.Name + "!", "#TOREPLACE#")
cellVal = Replace(cellVal, "#TOREPLACE#", "[" + other_wsh.Name + ".xls]" + other_wsh.Name + "!")
wsh.Cells(rw, cl).Formula = cellVal
End If
'End If
Next cl
Next rw
End If
Next other_wsh
Next wsh
For Each wb In OrigWB.Application.Workbooks
If wb.Name <> OrigWB.Name Then
wb.Close SaveChanges:=True
End If
Next wb
For Each wsh In OrigSheets
'Save the all sheets to different files:
FN = newPath + wsh.Name + ".xls"
wsh.Select
wsh.Copy
ActiveWorkbook.SaveAs Filename:=FN, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'wsh.SaveAs Filename
OrigWB.Activate
Next wsh
6. Нажимаешь F5 и ничего не трогаешь!
7. на все вопросы "бла-бла-бла... заменить ?" (их будет столько же, сколько страниц) отвечаешь "Да"
После чего закрываешь полностью Excel и убиваешь оригинал документа.
Все. В текущей папке у тебя твой документ, разодранный по страницам и с сохраненными ссылками, только теперь уже на соседние файлы.
Файлы будут называться так же, как страницы, поэтому рекомендую предварительно обозвать листы удобоваримо.