Цитата |
---|
daredavil написал: то есть каждая ячейка должна содержать формулу? |
Нет такого требования, а есть требования, которое я уже публиковал:
Для поиска решения формула целевой ячейки обязательно должна зависеть от значений изменяемых надстройкой ячеек
У Вас следующие ошибки:
1. Нет формул в столбце G, а должны быть.
2. Неправильно записаны 4 нижних ограничения (см. методичку)
Чтобы исключить опечатки лучше использовать именно те ячейки, которые приведены в методичке.
Перед началом расчета нужно задать начальные значения количества бумаг в портфеле (единичное по методичке)
Эволюционный метод решения можно продолжить после сообщения о достижении максимального времени и остановить в любой момент по ESC.
Текущее значение отображается в статусной строке — посматривайте на него и остановите, когда значение будет достаточно оптимальным (можно сравнивать с тем, что в методичке). В приложении — исправленный вариант с результатом, лучшим (5.02%), чем в методичке (4.73%). С Вас — оценка не ниже 5.02 за лабораторную
Наряду со множеством других возможностей, в Microsoft Excel есть одна малоизвестная, но очень полезная функция под названием “Поиск решения”. Несмотря на то, что найти и освоить ее, может быть, непросто, ее изучение и применение может помочь в решении огромного количества задач. Функция берет данные, перебирает их и выдает самое оптимальное решение из возможных. Итак, давайте разберемся, как именно работает поиск решения и попробуем применить данную функцию на практике
Содержание
- Как включить функцию “Поиск решения”
- Подготовительный этап
- Применение функции и ее настройка
- Заключение
Как включить функцию “Поиск решения”
Несмотря на свою эффективность, функция “Поиск решения” не находится в первых рядах панели инструментов или контекстного меню. Многие пользователи, работающие в Excel годами, даже не подозревают о ее существовании. Дело в том, что по умолчанию она вообще отключена и для ее добавления на ленту нужно проделать следующие шаги:
- Открываем меню “Файл”, кликнув по соответствующему названию.
- Кликаем по разделу “Параметры”, который находится внизу вертикального перечня с левой стороны.
- Далее щелкаем по подразделу “Надстройки”. Здесь отображаются все надстройки программы, а внизу будет надпись “Управление”. Справа от нее представлено выпадающее меню, в котором должны быть выбраны “Надстройки Excel”, обычно уже установленные по умолчанию. Нажимаем кнопку “Перейти”.
- На экране появится новое вспомогательное окно “Надстройки”. Устанавливаем флажок напротив опции “Поиск решения” и нажимаем ОК.
- Все готово. Требуемая функция появится на ленте в правой части вкладки “Данные”.
Подготовительный этап
Добавить функцию на ленту программы – половина дела. Нужно еще понять принцип ее работы.
Итак, у нас есть данные про продаже товаров, представленные в табличном виде.
И перед нами стоит задача – назначить каждому товару скидку таким образом, чтобы сумма по всем скидкам составила 4,5 млн. рублей. Она должна отобразиться в отдельной ячейке, которая называется целевой. Ориентируясь на нее мы должны рассчитать остальные значения.
Наша задача – вычислить скидку, на которую будут умножены все суммы по продажам всех наименований. Она и будет найдена с помощью функции “Поиск решения”, а ячейка с этой скидкой будет называется искомой.
Данные ячейки (искомая и целевая) связываем вместе формулой, которую пишем в целевой ячейке следующим образом: =D13*$G$2, где ячейка D13 содержит итоговую сумму по продажам всех товаров, а ячейка $G$2 – абсолютные (неизменные) координаты искомой ячейки.
Применение функции и ее настройка
Формула готова. Теперь нужно применить саму функцию.
- Переключаемся во вкладку “Данные” и нажимаем кнопку “Поиск решения”.
- Откроются “Параметры”, где необходимо задать нужные настройки. В поле “Оптимизировать целевую функцию:” указываем адрес целевой ячейки, где планируется вывести сумму по всем скидкам. Можно прописать координаты вручную, либо выбрать из таблицы, для чего сначала кликаем по области ввода, затем – по нужной ячейке.
- Переходим к настройке других параметров. В пункте “До:” можно задать максимальную границу, минимальную границу или же точное число. Исходя из поставленной задачи ставим отметку рядом с опцией “Значение” и набираем “4500000” – сумма скидок по всем наименованиям.
- Следующее для заполнения поле – “Изменяя значения переменных:”. В него нужно внести координаты искомой ячейки, содержащей определенное значение. Это значение и есть та самая скидка, которую мы пытаемся вычислить. Также, как и с выбором целевой ячейки, координаты можно написать вручную, либо кликнуть по нужной ячейке в самой таблице.
- Теперь нужно отредактировать раздел “В соответствии с ограничениями:”, в котором задаем ограничения используемых данных. Например, можно исключить десятичные дроби или, скажем, отрицательные числа. Это делается через кнопку “Добавить”.
- Откроется вспомогательно окно, позволяющее добавить ограничения во время вычислений. В первом поле указываем координаты определенной ячейки или области ячеек, для которых это условие должно действовать. Согласно нашей задаче, указываем координаты искомой ячейки, в которой будет выводиться значение скидки. Следующий шаг – определить знак сравнения. Устанавливаем “больше или равно”, чтобы итоговое число не могло быть отрицательным. “Ограничение”, которое устанавливается в третьем поле, в этом случае будет равно цифре 0, поскольку именно относительно этого значения задается условие.Можно установить еще одно ограничение с помощью кнопки “Добавить”. Дальнейшие действия по его настройке будут аналогичными. По готовности щелкаем OK.
- После выполнения описанных выше действий в самом большом поле окна появится установленное только что ограничение. Список может быть довольно большим и зависит от сложности предполагаемых расчетов, но в данном случае будет достаточно и одного условия.Под этим полем также есть опция, позволяющая делать все остальные переменные, не затрагиваемые ограничениями, неотрицательными. Однако, будьте внимательны и проследите за тем, чтобы между этим параметром и поставленными ограничениями не было противоречия, иначе при расчете в программе может возникнуть конфликт.
- Также можно задать немалое количество дополнительных настроек. Чуть ниже справа есть кнопка “Параметры”, позволяющая это сделать. Нажимаем на нее и открываем новое окно.
- В этих настройках у нас есть возможность установить “Точность ограничения” и “Пределы решения”. В нашем случае задавать данные параметры нет необходимости, поэтому после ознакомления с представленным окном, его можно закрыть, нажав OK.
- Итак, все настройки выполнены и параметры установлены. Пора запускать функцию – для этого нажимаем кнопку “Найти решение”.
- После этого программа сделает все необходимые расчеты и выдаст результаты в нужных ячейках. При этом сразу же откроется окно “Результаты поиска решения”, где можно сохранить/отменить результаты или настроить параметры поиска заново. Если результаты нас устраивают, оставляем отметку напротив опции “Сохранить найденное решение” и нажимаем ОК. При этом, если мы предварительно установим галочку слева от надписи “Вернуться в диалоговое окно параметров поиска решения”, после того, как мы щелкнем OK, мы обратно переключимся к настройке функции поиска решения.
- Вполне вероятно, что расчеты могут показаться неправильными, либо возникнет желание немного изменить исходные данные и получить другой результат. В этом случае нужно снова открыть окно с параметрами поиска решения и внимательно посмотреть поля с введенными данными.
- Если с данными все нормально, можно попробовать задействовать другой метод решения. Для этого щелкаем по текущему варианту и из раскрывшегося перечня выбираем способ, который нам кажется наиболее подходящим:
- Первый – ищет решение методом обобщенного приведенного градиента (ОПГ) для нелинейных задач. Стандартно выбран именно этот вариант, но можно попробовать и другие.
- Второй – пытается отыскать решение для линейных задач, используя симплекс-метод.
- Третий – для выполнения поставленной задачи использует эволюционный поиск.
- В том случае, если ни один из методов не принес удовлетворительных результатов, стоит проверить данные в таблице и параметрах еще раз, поскольку именно это является самой частой ошибкой в подобного рода задачах.
- Теперь, когда мы получили требуемую скидку, осталось ее применить, чтобы рассчитать суммы скидок по всем наименованиям. Для этого отмечаем первую ячейку столбца “Сумма скидки”, пишем в ней формулу “=D2*$G$2” и нажимаем Enter. Знаки доллара ставятся для того, чтобы при растягивании/копировании формулы на другие строки, ячейка G2 со скидкой оставалась неизменной в расчетах.
- Мы получили сумму скидки для первого наименования. Теперь наводим курсор на нижний правый угол ячейки с результатом, как только он поменяет форму на крестик, зажав левую кнопку мыши растягиваем формулу на все строки, по которым хотим посчитать аналогичную сумму.
- Теперь наша таблица полностью готова в соответствии с поставленной задачей.
Заключение
Таким образом, функция “Поиск решения” в Эксель может помочь в решении определенных задач, которые достаточно сложно или невозможно решить простыми методами. Однако, проблема в использовании данного способа заключается в том, что по умолчанию данная функция скрыта в программе, из-за чего многие пользователи не догадываются о ее существовании. Также функция довольно трудна в освоении и использовании, но при ее должном изучении, она может принести значительную пользу и облегчить работу.
По умолчанию в Excel отключена функция поиска решения и анализа данных. Они обычно находятся на вкладки Данные в крайнем правом положении.
Если они отсутствуют, то их легко восстановить.
Выбираем Файл -> Параметры. Открывается окошко Параметры Excel.
Переходим в Надстройки и из выпадающего пункта выбираем Надстройки Excel и нажимаем кнопку перейти. Опять открывается окошко и здесь ставим галочки поиска решения и анализа данных и жмём Ок. Ждём некоторое время и на вкладки Данные появляются функции поиска решения и анализа данных, картинка снизу.
5812
0 / 0 / 0 Регистрация: 03.06.2022 Сообщений: 16 |
|
1 |
|
В ходе поиска не удалось найти допустимого решения25.11.2022, 09:19. Показов 863. Ответов 5
Доброе утро! В ходе решения одноиндексной задачи целочисленного линейного программирования всех переменных поиске решения добавил ограничение $B$3:$F$3 = целое. При решении задачи возникла ошибка: «В ходе поиска не удалось найти допустимого решения». Подскажите, это можно исправить, или в этой задаче не требуется целочисленное всех переменных, и она не имеет решений? Миниатюры
0 |
5965 / 3169 / 706 Регистрация: 23.11.2010 Сообщений: 10,577 |
|
25.11.2022, 11:21 |
2 |
Здравствуйте. Само задание покажите, только в текстовом виде, не картинкой
0 |
0 / 0 / 0 Регистрация: 03.06.2022 Сообщений: 16 |
|
25.11.2022, 11:29 [ТС] |
3 |
Держите в текстовом виде задание.
0 |
5965 / 3169 / 706 Регистрация: 23.11.2010 Сообщений: 10,577 |
|
25.11.2022, 11:47 |
4 |
andreiPython, перепечатайте задание в сообщение.
0 |
0 / 0 / 0 Регистрация: 03.06.2022 Сообщений: 16 |
|
25.11.2022, 12:15 [ТС] |
5 |
Задание №1. Одноиндексная задача линейного программирования
0 |
5965 / 3169 / 706 Регистрация: 23.11.2010 Сообщений: 10,577 |
|
25.11.2022, 13:10 |
6 |
2)Решить задачу, если к условию задачи добавилось требование целочисленности значений всех переменных. Решение будет при условии изменения равенства в первом и четвертом уравнениях на >= или <=
1 |
I’m trying to use the solver from Excel in VBA but I’m having trouble. I keep getting the following error: «Solver: An unexpected internal error occurred, or available memory was exhausted.»
Now, I guess solver isn’t out of memory as I can solve the same problem when using the solver dialog.
Here’s my code:
Sub CoolSolverButton()
SolverReset
SolverOK setCell:=Range("$CK$203"), MaxMinVal:=1, ByChange:=Range("$BH$203:$BQ$222"), Engine:=2, EngineDesc:="Simplex LP"
SolverAdd CellRef:=Range("$BH$203:$BQ$222"), relation:=5, FormulaText:="binary"
SolverAdd CellRef:=Range("$BH$223:$BQ$223"), relation:=1, FormulaText:=Range("$BH$225:$BQ$225")
SolverAdd CellRef:=Range("$BH$227:$BH$245"), relation:=1, FormulaText:=Range("$BI$227:$BI$245")
SolverAdd CellRef:=Range("$BJ$227:$BJ$245"), relation:=1, FormulaText:=Range("$BK$227:$BK$245")
SolverAdd CellRef:=Range("$BL$227:$BL$245"), relation:=1, FormulaText:=Range("$BM$227:$BM$245")
SolverAdd CellRef:=Range("$BN$227:$BN$245"), relation:=1, FormulaText:=Range("$BO$227:$BO$245")
SolverAdd CellRef:=Range("$BP$227:$BP$245"), relation:=1, FormulaText:=Range("$BQ$227:$BQ$245")
SolverAdd CellRef:=Range("$BR$203:$BR$222"), relation:=2, FormulaText:=Range("$BT$203:$BT$222")
SolverAdd CellRef:=Range("$BU$203:$BU$222"), relation:=2, FormulaText:=Range("$BW$203:$BW$222")
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End Sub
Any ideas?
Thanks!
I’m trying to use the solver from Excel in VBA but I’m having trouble. I keep getting the following error: «Solver: An unexpected internal error occurred, or available memory was exhausted.»
Now, I guess solver isn’t out of memory as I can solve the same problem when using the solver dialog.
Here’s my code:
Sub CoolSolverButton()
SolverReset
SolverOK setCell:=Range("$CK$203"), MaxMinVal:=1, ByChange:=Range("$BH$203:$BQ$222"), Engine:=2, EngineDesc:="Simplex LP"
SolverAdd CellRef:=Range("$BH$203:$BQ$222"), relation:=5, FormulaText:="binary"
SolverAdd CellRef:=Range("$BH$223:$BQ$223"), relation:=1, FormulaText:=Range("$BH$225:$BQ$225")
SolverAdd CellRef:=Range("$BH$227:$BH$245"), relation:=1, FormulaText:=Range("$BI$227:$BI$245")
SolverAdd CellRef:=Range("$BJ$227:$BJ$245"), relation:=1, FormulaText:=Range("$BK$227:$BK$245")
SolverAdd CellRef:=Range("$BL$227:$BL$245"), relation:=1, FormulaText:=Range("$BM$227:$BM$245")
SolverAdd CellRef:=Range("$BN$227:$BN$245"), relation:=1, FormulaText:=Range("$BO$227:$BO$245")
SolverAdd CellRef:=Range("$BP$227:$BP$245"), relation:=1, FormulaText:=Range("$BQ$227:$BQ$245")
SolverAdd CellRef:=Range("$BR$203:$BR$222"), relation:=2, FormulaText:=Range("$BT$203:$BT$222")
SolverAdd CellRef:=Range("$BU$203:$BU$222"), relation:=2, FormulaText:=Range("$BW$203:$BW$222")
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End Sub
Any ideas?
Thanks!
- Remove From My Forums
-
Question
-
I just tried to use the Solver that comes with Microsoft Office 2010. I have activated the add-in, but whenever I select it from the Analysis tab, i get an error «Solver: An unexpected internal error occurred, or available memory was exhausted.» right
out of the box, on a brand new blank worksheet. Any ideas? I am pretty sure that unless this thing consumes 1.5 gigabytes of RAM, my memory should be enough…- Moved by
Monday, October 1, 2012 5:23 AM
(From:Excel for Developers)
- Moved by
- Remove From My Forums
-
Question
-
I just tried to use the Solver that comes with Microsoft Office 2010. I have activated the add-in, but whenever I select it from the Analysis tab, i get an error «Solver: An unexpected internal error occurred, or available memory was exhausted.» right
out of the box, on a brand new blank worksheet. Any ideas? I am pretty sure that unless this thing consumes 1.5 gigabytes of RAM, my memory should be enough…- Moved by
Monday, October 1, 2012 5:23 AM
(From:Excel for Developers)
- Moved by
-
Новое за 24 часа
-
Пользователи
-
Arise
Senior Member701
#
16 февраля 2010 15:32KSIva, не будем обсуждать у кого какие знания в Экселе и гнуть пальцы.
за ответ спасибо
-
dikar
Клуб счастливых людей2587
#
17 февраля 2010 09:14друзья. непредвиденный трабл.
надстройка — Поиск решения.
офис 2007, но трабл не в этом.
решение эксель мне находит, но результаты выдавать отказывается. точнее говоря матрицу решал многократно и решения выводились исправно а вот в тот момент когда я принял решение об окончательном виде матрицы и попытался вывести окончательные результаты после выполнения Поиска Решения выползает такая вот надпись:
Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти.
ЧТО ЭТО? и с чем его едят.
мне победить эту запись не удалось.
помогите плиз, кто чем может. очень нужно.
Пишите в ЛС.
-
MaxRusak
Senior Member53155
#
17 февраля 2010 11:55dikar:
друзья. непредвиденный трабл.
надстройка — Поиск решения.
офис 2007, но трабл не в этом.
решение эксель мне находит, но результаты выдавать отказывается. точнее говоря матрицу решал многократно и решения выводились исправно а вот в тот момент когда я принял решение об окончательном виде матрицы и попытался вывести окончательные результаты после выполнения Поиска Решения выползает такая вот надпись:
Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти.
ЧТО ЭТО? и с чем его едят.
мне победить эту запись не удалось.
помогите плиз, кто чем может. очень нужно.
Эксель чувствителен к исходным данным в изменяемых ячейках.
Легче зажечь одну маленькую свечку, чем клясть темноту. (с) Конфуций.
-
Олег
Senior Member681
#
4 марта 2010 12:34Помогите правильно в макросе указать переименование страницы
мне надо чтобы переименовывало по данным из ячейки А8 (они там меняются)
в бейсике указывает имя из информации в ячейке, которое там было на момент написания макроса, а хочу чтобы чтобы имя было то, которое указано в упоминаемой ячейке на момент выполнения макроса
Sheets(«2»).Select
Sheets(«2»).Name = «Беларусь.43»
-
DimetriX
Member314
#
4 марта 2010 19:50Олег,
попробуй такой код.
предполагается, что он выполняется на той закладке, где и расположена ячейка А8.
то что надо?
Sub zakladka()
y = ActiveSheet.Name
x = «» & y & «»
Sheets(x).Select
Sheets(x).Name = Cells(8, 1).Value
End Sub
-
Олег
Senior Member681
#
5 марта 2010 09:52DimetriX, спасибо, вроде работает
-
KSIva
Senior Member10781
#
5 марта 2010 10:04Олег, DimetriX, а зачем эта строчка: Sheets(x).Select ? Без нее будет работать?
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
-
Олег
Senior Member681
#
5 марта 2010 11:14KSIva, вроде и без неё работает
-
Артёмка
Senior Member22047
#
9 марта 2010 14:57подскажите плиз, как преобразовать формат времени 5:34:00 в целое значение минут? т.е. 334 мин.
спасибо.
Поделись улыбкою своей — и тебе её не раз ещё припомнят…
-
KSIva
Senior Member10781
#
9 марта 2010 15:07Артёмка:
подскажите плиз, как преобразовать формат времени 5:34:00 в целое значение минут? т.е. 334 мин.
спасибо.
«Формат- ячейки- все форматы» указать формат [м] (буква «м» русская)
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
-
Артёмка
Senior Member22047
#
9 марта 2010 17:28KSIva, в офисе гут, получилось. в гугл докс такой фокус не прокатывает. есть варианты?
Поделись улыбкою своей — и тебе её не раз ещё припомнят…
-
KSIva
Senior Member10781
#
10 марта 2010 09:44Артёмка:
KSIva, в офисе гут, получилось. в гугл докс такой фокус не прокатывает. есть варианты?
C гуглдокс не работаю, но попробуй значение ячейки умножить на 1440. Типа =A1*1440 , где а1 — ячейка со временем. Формат поставь числовой. Если есть секунды, округляй до целых.
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
-
Олег
Senior Member681
#
22 марта 2010 14:27А можно написать макрос, который удаляет все листы кроме активного?
-
IveGotThePower
USA Team3463
#
22 марта 2010 15:02Олег, можно:
Sub DelSheet()
For Each sh In Windows(1).SelectedSheets
Name = sh.Name
Exit For
Next
Application.DisplayAlerts = False
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> Name Then
sh.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
We can take that place. And than do what? Heads on pikes.
-
Олег
Senior Member681
#
22 марта 2010 16:27I’ve got the power, да, работает,
большое спасибо
-
Олег
Senior Member681
#
23 апреля 2010 11:47Вот выше описывали мне как переименовать лист в соответствии со значением в определённой ячейке
А можно ли также переименовать книгу? Нужно чтобы книга сохранялась на рабочий стол и обзывалась значением в ячейке А8 + дата и время
помогите пожалуйста
-
DimetriX
Member314
#
24 апреля 2010 21:31Олег, попробуйте. Но вместо «F:» надо прописать точный путь к рабочему столу, он у вас может быть другой, чем у меня, поэтому и не вписывал.
Sub new1()
d = Format(Date, «YYYYMMDD») & «_» & Format(Time, «HHMMSS») & «.xls»
ActiveWorkbook.SaveAs Filename:=»F:» & Cells(8, 1).Value & «_» & d
End Sub
-
Олег
Senior Member681
#
26 апреля 2010 10:04DimetriX, спасибо, работает
-
Vita
Senior Member2664
#
6 мая 2010 14:13как можно сделать так чтобы один и тот же колонтитул был на всех листах файла?
а то листов много везде настраивать долго
Лучше один раз вовремя — чем два раза правильно!
-
KSIva
Senior Member10781
#
6 мая 2010 15:20Vita:
как можно сделать так чтобы один и тот же колонтитул был на всех листах файла?
а то листов много везде настраивать долго
Выделяешь первый лист, Ctrl+щелчок по ярлыку последнего. Выделяются все листы (вверху в заголовке окна появляется слово [Группа]). Устанавливаешь колонтитулы — они утанавливаются для всех выделенных листов.
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
Поиск решения непредвиденная внутренняя ошибка или достигнут предел памяти
Обновлено: 29.01.2023
- Загрузите DriverFix (проверенный файл загрузки).
- Нажмите «Начать сканирование», чтобы найти все проблемные драйверы.
- Нажмите «Обновить драйверы», чтобы получить новые версии и избежать сбоев в работе системы.
- DriverFix в этом месяце скачали 502 786 читателей.
Если вы работаете в организации, на вашем компьютере, скорее всего, установлена последняя версия пакета Microsoft Office или Office 365. Даже если вы этого не сделаете, маловероятно, что вы никогда раньше не слышали о Microsoft Excel.
1 Проверьте содержимое таблицы
- Вставка строки или столбца
- Выполнение расчетов
- Копирование и вставка
- Сортировка
- Открытие или закрытие книги
- Запуск VBA
- Перепроверьте формулы
- Перепроверьте расчеты
- Избегайте использования лишних форм
- Избегайте использования сложных сводных таблиц
- Старайтесь не использовать макросы и сложные диаграммы с большим количеством точек данных.
2 Проверьте свои надстройки Excel
Если вы считаете, что надстройка Excel вызывает ошибку, попробуйте отключить ее, а затем проверьте, появляется ли ошибка снова.
3 Проверьте Excel или установите последние обновления
- Щелкните правой кнопкой мыши кнопку Пуск
- Во всплывающем меню выберите «Приложения и функции».
- Выберите Microsoft Excel и выберите Изменить.
В зависимости от того, является ли ваша копия Office «нажми и работай» или установлена на основе MSI, следующие шаги могут немного отличаться.
3.1. Нажми и работай
Появится окно с названием Как вы хотите восстановить свои программы Office.
- Выберите Online Repair
- Выберите «Восстановить», чтобы убедиться, что все исправлено.
- Вариант быстрого восстановления работает быстрее, но он только обнаруживает, а затем заменяет поврежденные файлы
3.2. На базе MSI
- В разделе “Изменить установку” выберите ” Восстановить”.
- Нажмите ” Продолжить”.
- Следуйте данной инструкции, чтобы завершить процесс
4 Отключите антивирус
Отключите антивирусную программу и посмотрите, продолжает ли Excel обнаруживать эту ошибку. Помните, что каждая антивирусная программа отключается по-разному, поэтому дополнительную информацию можно найти в документации на веб-сайте разработчика.
Читайте также:
- Как в sketchup изменить единицы измерения
- Ошибка e105 xbox one
- Огневка вита антивирус как принимать
- Кабель для подключения эбу к компьютеру
- Как вывести моноблок из защиты
- Remove From My Forums
-
Question
-
При открытии некоторых файлов .xls и .doc Word и Excel 2013 выдают сообщение:
«Приложению Microsoft Excel (Word) не удается открыть или сохранить документы из-за нехватки памяти или места на диске»
Ну и дальше предлагается список действий — «освободите память, удалите ненужные программы и т.д.»
В журнале событий такие сообщения:
Microsoft ExcelПриложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске. • Чтобы освободить память, закройте ненужные книги или программы. • Чтобы освободить место на диске, удалите с этого диска ненужные файлы.P1: 100102P2: 15.0.4420.1017P3: 5afgP4:
(цифры после P1 — каждый раз разные).
Разумеется памяти достаточно (4 Гб), места на диске тоже навалом, компьютер сам по себе среднего современного уровня.
Происходит такая штука с определенными файлами — т.е. именно этот конкретный не открывается, но какой-то другой в это же время откроется без проблем. А те, которые не открывались, не откроются, сколько не пытайся.
Другой момент — замечал, что файлы которые не открывались вчера, открываются в другой день.
Проблема проявляется периодически на 3 разных машинах — на двух Windows 8 x64 (и 64-битный офис), на одной — Windows 8 32 бит (и 32-битный офис).
Ну и конечно — те же файлы отлично открываются в Libre Office или MS Office 2010. Файлики обычные, без каких-то макросов и тп., антивирус установлен (никаких признаков вирусных заражений, система — все обновления). Подскажите, куда копать? Не хочется сносить
2013-й (пусть пока и пробный), плюс скоро их ведь пользователям ставить будем (сам админ) — хочется разобраться в проблеме.- Edited by
Wednesday, December 26, 2012 1:05 PM
- Edited by
Answers
-
Да, я тоже уже разобрался — снял все галки в Центре управления безопасностью в разделе «Защищенный просмотр». После этого все проблемные файлы стали «нормальными» )
Аналогичный эффект давала также разблокировка файла через его свойства в проводнике.
При этом у меня эти файлы находились просто в локальных папках (не расшаренных).
Проблема фактически решена, хотя все-таки это именно баг, ведь программа при этом говорит о каком-то недостатке памяти и т.п. Да и вообще по сути файлы должны бы открываться, но с пометкой, что они заблокированы для редактирования (как это и было раньше
для защищенных)- Marked as answer by
ЖукMVP, Moderator
Tuesday, January 8, 2013 2:07 PM
- Marked as answer by
-
Проблемы как таковой на самом деле нет. Всё дело в новых настройках безопасности.- Центр управления безопасностью /параметры центра управления безопасностью/ Надёжные расположения — добавить новое расположение — путь — обзор -(выбираем
диски С: , D: и т.д.) ставим галочку — Также доверять всем вложенным папкам/ жмём ОК……Всё.- Proposed as answer by
Alexsoft73
Wednesday, October 8, 2014 11:34 PM - Marked as answer by
ЖукMVP, Moderator
Friday, September 22, 2017 2:50 PM
- Proposed as answer by
-
я вообще то, ещё вводил сетевой пароль доступа с включённой опцией «запомнить логин и пароль».
Да, я Жук, три пары лапок и фасеточные глаза :))
- Marked as answer by
ЖукMVP, Moderator
Wednesday, January 10, 2018 1:27 PM
- Marked as answer by
-
Сетевой путь, так же должен быть внесён в список «Надёжные расположения» с отмеченной опцией «Так же доверять всем вложенным папкам».
Да, я Жук, три пары лапок и фасеточные глаза :))
- Marked as answer by
ЖукMVP, Moderator
Friday, August 21, 2015 10:52 AM
- Marked as answer by
-
Выбирать необходимо из той программы, к которой подключается сетевой диск через кнопку «Обзор» соответствующего окна программы. Путь пропишет сама программа, Вам остаётся только отметить
опцию «Так же доверять всем вложенным папкам».Предварительно, протокол IPv6 должен быть включён, и с компьютера эти сетевые папки должны быть доступны.
Да, я Жук, три пары лапок и фасеточные глаза :))
- Edited by
ЖукMVP, Moderator
Tuesday, June 9, 2015 9:58 AM - Marked as answer by
ЖукMVP, Moderator
Wednesday, January 10, 2018 1:26 PM
- Edited by
-
Действительно, очень странное поведение программы.
Работаю с Ms Office 2016, возникла такая же проблема при открытии файлов из почты из браузера (браузер Mozilla, почта rambler).
Проблему удалось решить путем добавления папки с временными файлам в надежные расположения (здесь не все так просто, подробности ниже) и снятием всех галочек в Центре управления безопасностью в разделе «Защищенный
просмотр».Насчет добавления папки с временными файлами в надежные расположения: MS Office 2016 не разрешает напрямую добавить эту папку. Поэтому я создал новую папку для временных файлов, указал ее в Надежных расположениях, а затем
в настройках Windows 10 изменил путь со стандартной папки для временных файлов на новую, после чего перезагрузил компьютер.Совокупность этих действий позволила спокойно открыть документы MS Office из любой программы.- Marked as answer by
ЖукMVP, Moderator
Tuesday, April 25, 2017 8:46 PM
- Marked as answer by
Привет.
Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
Здравствуйте, Serg32M, Вы писали:
SM>Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
SM>Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
SM>Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
SM>Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
SM>Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
Ты бы хоть пример кода кинул…. где ото вылазит…
… << RSDN@Home 1.1.4 beta 3 rev. 185>>
Здравствуйте, Vodyamba, Вы писали:
V>Здравствуйте, Serg32M, Вы писали:
SM>>Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
SM>>Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
SM>>Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
SM>>Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
SM>>Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
V>Ты бы хоть пример кода кинул…. где ото вылазит…
Макрос в Ёкселе
…
SolverOk SetCell:=»$D$21″, MaxMinVal:=1, ValueOf:=»0″, ByChange:=»$D$9:$F$9″
SolverSolve UserFinish:=True
…
Вызов из Дельфи
xl: TExcelApplication;
…
frmMain.xl.Run(‘MacroForDelphi’); // вот тут оно и говорит такую фигню
…