Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 15:14   #1
Igor123
 
Регистрация: 20.09.2010
Сообщений: 5
По умолчанию Проблема - обнуление значений формул из ячеек, ссылающихся на сторонний .xls

Здравствуйте!

Столкнулся со следующей проблемой.
Есть экселевский файл A.xls, ячейка которого с помощью функции СУММЕСЛИ выцепляет необходимое значение из другого экселевского файла, B.xls.
При запуске файла А.xls значение этой ячейки #ЗНАЧ!, т.е., функция СУММЕСЛИ не работает.
Если же запустить файл B.xls, значение вышеуказанной ячейки файла А.xls тут же принимает необходимое значение, т.е., функция СУММЕСЛИ выцепляет необходимое ей значение только после открытия файла B.xls.

Закрываем оба файла - и все повторяется заново.

Вопрос - чем вызвана эта проблема и каковы методы ее решения?
Работаю в Excel 2003.

Открывать файл A, а после B - не вариант, поскольку таких ячеек в файле A порядка 1000, и самих файлов B столько же.

Последний раз редактировалось Igor123; 20.09.2010 в 15:30.
Igor123 вне форума Ответить с цитированием
Старый 20.09.2010, 15:48   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Если в В все данные в одной таблице, то в А, на отдельном листе, можно организовать запрос к В. Таким образом и данные и отчет окажутся в одном файле и формулы (их надо чуть подправить, возможно, одной командой "найти и заменить") всегда будут показывать результат, а не то, что сейчас закрыт источник.
В настройках запроса указать обновлять при открытии.
Лист с запросом можно скрыть, запаролить и внешне ваш А не будет отличаться от первоначального.
Пробуйте, успехов!

Кстати, не совсем понял чем плох вариант сначала открыли В, а потом А. Только тем, что иногда все-таки будете забывать это сделать.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.09.2010, 15:53   #3
alexvav
Форумчанин
 
Регистрация: 23.11.2006
Сообщений: 152
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
...не совсем понял чем плох вариант сначала открыли В, а потом А.
поскольку таких ячеек в файле A порядка 1000, и самих файлов B столько же.
alexvav вне форума Ответить с цитированием
Старый 20.09.2010, 15:59   #4
Igor123
 
Регистрация: 20.09.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Если в В все данные в одной таблице, то в А, на отдельном листе, можно организовать запрос к В. Таким образом и данные и отчет окажутся в одном файле и формулы (их надо чуть подправить, возможно, одной командой "найти и заменить") всегда будут показывать результат, а не то, что сейчас закрыт источник.
Спасибо за ответ.
Не совсем понятно - вы предлагаете вообще исключить файл B, вписав его в A? Этот вариант исключен, поскольку, как уже было сказано, и файлов B, и ячеек в A, что к ним ссылаются, несколько сотен, при том, что еще и страниц в каждом из файлов B с десяток.
Цитата:
Сообщение от IgorGO Посмотреть сообщение
В настройках запроса указать обновлять при открытии.
Указывал - при открытии обновлять - дело не меняет. Все то же.
Еще варианты?
Цитата:
Сообщение от IgorGO Посмотреть сообщение
Кстати, не совсем понял чем плох вариант сначала открыли В, а потом А. Только тем, что иногда все-таки будете забывать это сделать.
Тем, что
Цитата:
Сообщение от Igor123 Посмотреть сообщение
Открывать файл A, а после B - не вариант, поскольку таких ячеек в файле A порядка 1000, и самих файлов B столько же.
1000 файлов открывать и закрывать - день уйдет.
Igor123 вне форума Ответить с цитированием
Старый 20.09.2010, 17:11   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Но 1000 файлов А Вам открывать приходится?
Каждому из А соответствует свой В, их тоже 1000?
Файл В я не предлагал исключать. Я предложил в файле А написать запрос к файлу В и настроить, чтобы он запрашивал данные при каждом открытии А. Таким образом при открытии А у Вас каждый раз подтянутся актуальные данные из В (не открывая его).
Обновлять при открытии - речь идет о запросе.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.09.2010, 09:00   #6
Igor123
 
Регистрация: 20.09.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Но 1000 файлов А Вам открывать приходится?
Каждому из А соответствует свой В, их тоже 1000?
Нет.
Файл А - 1штука.
В нем содержится 1000 ячеек, каждая из которых ссылается на свой файл В. Т.е., А - 1шт, ячеек в нем с ссылками - 1000шт., файлов В - 1000шт.
Цитата:
Сообщение от IgorGO Посмотреть сообщение
Файл В я не предлагал исключать. Я предложил в файле А написать запрос к файлу В и настроить, чтобы он запрашивал данные при каждом открытии А. Таким образом при открытии А у Вас каждый раз подтянутся актуальные данные из В (не открывая его).
Обновлять при открытии - речь идет о запросе.
Подождите - возможно, мы друг друга не понимаем - каждая ячейка файла А с помощью функции СУММЕСЛИ выцепляет из соответствующего ей файла В необходимые ей данные.
Проблема не в том, чтобы обновлять данные - в файле А при его открытии вообще никакие данные из файлов В не поступают - в этих ячейках написано #ЗНАЧ. Никаких данных, ни предыдущих, ни новых. Запускаем двойным кликом файлы В - и данные в открытом файле А начинают появляться. Закрываем все - и А, и В, после снова запускаем А - и в нем опять пусто - в ячейках все то же #ЗНАЧ.

Что это - глюк Excel?

Последний раз редактировалось Igor123; 21.09.2010 в 09:02.
Igor123 вне форума Ответить с цитированием
Старый 21.09.2010, 11:03   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вот теперь все понятно.
забудьте все, что я написал раньше.

Хотя... организовать 1000 запросов тоже можно, не знаю как это скажется на производительности... читайте справку по "query" - там все написано.
И последний совет: перходите на офис 2007 - это вообще не проблема для него.
Собственно, уже пора и на 2010 перейти.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.09.2010, 11:13   #8
Igor123
 
Регистрация: 20.09.2010
Сообщений: 5
По умолчанию

IgorGO, так вот же. Сама суть вопроса - связано это с глюком Excel? Потому что формула элементарна, да и работает же она, но только после открытия этих файлов B. Склоняюсь к мнению, что, все же, глюк, поскольку коллега рассказывал, что в этом же файле давным-давно возникала подобная проблема, но не сразу, а по истечении некоторого времени (порядка месяца).
Сейчас будем устанавливать 2007 Excel, посмотрим, как там будет работать.

Спасибо за время!
Igor123 вне форума Ответить с цитированием
Старый 21.09.2010, 16:31   #9
Igor123
 
Регистрация: 20.09.2010
Сообщений: 5
По умолчанию

Установил Excel 2007. Все то же. Если и глюк, то перекочевавший из 2003 в 2007.
Igor123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение ячеек из другого .xls файла в переменные MasterYod@ Microsoft Office Excel 2 12.05.2010 11:32
Выделение диапазона по условию тестовых значений ячеек as-is Microsoft Office Excel 1 08.03.2010 14:45
как сохранить всю книгу, только значений без формул? katlis Microsoft Office Excel 5 17.12.2008 11:59
Выборка значений ячеек DBGrid Македонский БД в Delphi 3 05.12.2007 07:10
Обнуление значений $_SESSION[*] при переходе на некоторые страници kkkggg PHP 3 11.09.2007 23:09