Страницы: 1
RSS
Формулы не рассчитываются... пакет анализа установлен
 
можно ругнусь? написал целое сочинение, а этот форум (будьоннеладен) сказал, что код неверный... и пропало все и вся...  
пробую написать снова.  
но уже короче :-)  
 
дано:  
- книга о множестве листов со множеством связей с другими книгами на сервере (она тоже живет на том сервере)  
- большое количество формул пакета анализа  
- на компе (не на моем, у меня все работает) пакет анализа установлен, внешние данные обновляются автоматически, формулы рассчитываются тоже автоматически...  
НО!  
вместо чисел и дат я вижу #ИМЯ  
соответственно ВСЯ книга не работает как ей положено  
 
но чудеса на этом не заканчиваются и стоит поставить курсор в строку формул и нажать ентер, как вместо ругани в ячейке возникает число...  
подобное негодяйство замечено на следующих формулах НОМНЕДЕЛИ, ГОД, МЕСЯЦ, КОНМЕСЯЦА и прочих, работающих с датами. а их очень и очень много, и ошибка в них все ВПРы и прочие ПОИСКПОЗы сводит к ошибке.  
 
не подскажете, что делать-то? вся полезность моей мегакниги с макросами, самозаполняющимися бланками и прочими фичами получается никому не нужной, поскольку работает корректно только на моей машине...
 
ёлки зеленые...  
WEEKNUM  
всё пропало...
 
коллеги, прошу прощения за назойливость... но проблема не надуманная!  
тут ведь вот какое дело происходит.  
я тут взял и поэкспериментировал со "вражеской" машиной.  
сделал таблицу с формулами, которые работают с датами, которую и прилагаю.  
так вот, этот негодяй при открытии мной сохраненной книги, взял и переименовал ЧАСТИЧНО функции в англоязычные я открыл у себя - конечно жэ часть из них не работает... скопировал в столбец Бэ, а в столбце А "починил", сохранил и пошел удивляться дальше - а там диво!  
столбец А с ошибками (пока не тыкнешь в строку формул, после чего функция переименовывается)  
но в столбце Бэ он не понимает те функции, которые сам же и переименовал!!!!  
это ставит под угрозу безопасность всей страны! что делать и встречал ли кто-нибудь такую штуку?
 
Я вот задумался: надстройки в мелкософте локализуют? Судя по наличию и WEEKNUM, и НОМНЕДЕЛИ локализуют.  
Я у себя WEEKNUM не нашел, пока не подключил Analysis ToolPak - VBA    
В описании которого сказано: "Функции VBA для работы пакета анализа"  
Может в нем дело?
 
хм... а возможно! в наДстройках я это видел!  
помимо просто "пакет анализа" был и пакет анализа ВБА...  
надо завтра поковырять это дело  
спасибо!
 
в общем ёксель побеждает... на той машине даже офис заново поставили (2007 стандарт), поскольку оутлюк там вообще криво работал...  
в екселе имеем тоже самое.  
рыдаю
 
{quote}{login=mazayZR}{date=30.05.2008 04:27}{thema=}{post}в общем ёксель побеждает... на той машине даже офис заново поставили (2007 стандарт), поскольку оутлюк там вообще криво работал...  
в екселе имеем тоже самое.  
рыдаю{/post}{/quote}  
---  
Проблема известна.  
Рекомендации, кратко:  
 
1. Использовать только локализованные (русские) названия функций пакета анализа, если таковые имеются.    
Например, вместо =Workday() использовать =РАБДЕНЬ() и т.п.  
 
2. Добавить такую VBA-процедуру в проблемную книгу:  
 
Sub Auto_Open()  
On Error Resume Next  
Application.ScreenUpdating = False  
AddIns("Analysis ToolPak - VBA").Installed = False  
AddIns("Пакет анализа").Installed = False  
AddIns("Analysis ToolPak - VBA").Installed = True  
AddIns("Пакет анализа").Installed = True  
Application.ScreenUpdating = True  
ActiveCell.Select  
End Sub  
 
Должно помочь.  
---  
ZVI
 
не смею сомневаться в пользе сего кода, однако уточню кое-что.  
на моей машине Analysis ToolPak - VBA не подтянут... не вызовет ли подобных проблем в других книгах подключение его вашим макросом?  
а проблему я обошел :-)  
просто придется пару цифр вводить ручками (котроые ранее определялись в зависимости от текущей даты, как раз НОМНЕДЕЛИ(). вот ее я и удалил из процесса)
 
{quote}{login=mazayZR}{date=30.05.2008 06:46}{thema=}{post}не смею сомневаться в пользе сего кода, однако уточню кое-что.  
на моей машине Analysis ToolPak - VBA не подтянут... не вызовет ли подобных проблем в других книгах подключение его вашим макросом?  
а проблему я обошел :-)  
просто придется пару цифр вводить ручками (котроые ранее определялись в зависимости от текущей даты, как раз НОМНЕДЕЛИ(). вот ее я и удалил из процесса){/post}{/quote}  
---  
Безусловно, функции надстройки не могут работать без самой надстройки.  
Если по каким-либо причинам надстройка Пакет Анализа нежелательна, то  придется подключать свои Excel-формулы или VBA-функции.  
 
Например, функция пакета анализа WeekNum() или НОМНЕДЕЛИ() может быть заменена на такую VBA-функцию:  
 
Function НомерНедели(Дата As Date, Тип_возвр As Integer) As Integer  
НомерНедели = CInt(Format(Дата, "ww", Тип_возвр))  
End Function  
---  
ZVI
 
---  
Пример реализации функции НомерНедели() формулами Excel для даты в ячейке A1:  
=1+ЦЕЛОЕ((A1-(ДАТА(ГОД(A1);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A1);1;0))))/7)  
---  
ZVI
 
{quote}{login=ZVI}{date=31.05.2008 04:07}{thema=Re:}{post}---  
Пример реализации функции НомерНедели() формулами Excel для даты в ячейке A1:  
=1+ЦЕЛОЕ((A1-(ДАТА(ГОД(A1);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A1);1;0))))/7)  
---  
ZVI{/post}{/quote}  
 
забавный обходной маневр, коллега! надо испытать. функция ГОД() там вроде работала, может будут работать и ДАТА и ДЕНЬНЕД.  
спасибо!
 
{quote}{login=mazayZR}{date=01.06.2008 10:39}{thema=Re: Re:}{post}{quote}{login=ZVI}{date=31.05.2008 04:07}{thema=Re:}{post}---  
Пример реализации функции НомерНедели() формулами Excel для даты в ячейке A1:  
=1+ЦЕЛОЕ((A1-(ДАТА(ГОД(A1);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A1);1;0))))/7)  
---  
ZVI{/post}{/quote}  
 
забавный обходной маневр, коллега! надо испытать. функция ГОД() там вроде работала, может будут работать и ДАТА и ДЕНЬНЕД.  
спасибо!{/post}{/quote}  
---  
Отключал надстройку Пакет анализа и ее VBA-клон Analysis ToolPak - работает.  
---  
ZVI
Страницы: 1
Наверх