Предполагается, что имена книг в Excel 2007 ограничены по размеру только памятью, но, похоже, это не так. В конце концов массив, сохраненный в имени, станет достаточно большим, и при попытке сохранить вы получите (перефразировано): «одна или несколько формул в этой книге превышают ограничение в 8192 символа, сохраните как двоичный файл». 1001 *
ОК, затем сохраните его в двоичном формате ... но даже здесь массив может стать достаточно большим, чтобы сделать сохранение файла невозможным.
Что дает? Как имена хранятся в Excel, что это происходит? Это что-то особенное для установки? Есть ли способ обойти это?
Попробуйте сами с кодом ниже. Он будет работать отлично, и имя будет правильно заполнено, но сохранение даст вам ошибки somenasty. 3351 элементов слишком много, но 3350 экономит просто отлично:
Public Sub TestNameLimits()
Dim v As Variant
ReDim v(1)
Dim index As Integer
For index = 1 To 3351
ReDim Preserve v(index)
v(index) = "AAAA"
Next
Call Application.Names.Add("NameLimit", v)
End Sub