Поиск решения непредвиденная внутренняя ошибка или достигнут предел памяти
Обновлено: 09.06.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
- Огневка вита антивирус как принимать
- Кабель для подключения эбу к компьютеру
- Как вывести моноблок из защиты
Помогите пожалуйста решить проблему добавления ограничений в Solver посредством кода на VBA. Суть проблемы в том, что при вводе ограничений посредством редактора VBA и последующем запуске Solver, выскакивает сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел допустимой памяти». При анализе проблемы выяснилось, что такая ошибка появляется только в том случае, когда я ввожу дробные ограничения. Если целые числа, то все ОК. Привожу пример кода для пояснения:
Sub AddLimitSolver()
For i = 3 To 32
Application.Run "Solver.xla!SolverAdd", Cells(i, 1), 1, Cells(i, 3)
Application.Run "Solver.xla!SolverAdd", Cells(i, 1), 3, Cells(i, 2)
Next i
End Sub
Если поиск решения успешно завершен, в диалоговом окне Результаты поиска решения выводится одно из следующих сообщений.
§ Решение найдено. Все ограничения и условия оптимальности выполнены.
Все ограничения соблюдены с установленной точностью и найдено заданное значение целевой ячейки.
§ Поиск свелся к текущему решению. Все ограничения выполнены.
Относительное изменение значения в целевой ячейке за последние пять итераций стало меньше установленного значения параметра Сходимость в диалоговом окне Параметры поиска решения. Чтобы найти более точное решение, установите меньшее значение параметра Сходимость, но это займет больше времени.
Если поиск не может найти оптимальное решение, в диалоговом окне Результаты поиска решения выводится одно из следующих сообщений.
§ Поиск не может улучшить текущее решение. Все ограничения выполнены.
В процессе поиска решения нельзя найти такой набор значений влияющих ячеек, который был бы лучше текущего решения. Приблизительное решение найдено, но либо дальнейшее уточнение невозможно, либо заданная погрешность слишком высока. Измените погрешность на меньшее число и запустите процедуру поиска решения снова.
🚩 Возникла непредвиденная проблема магазин Windows Store
§ Поиск остановлен (истекло заданное на поиск время). Время, отпущенное на решение задачи, исчерпано, но достичь удовлетворительного решения не удалось. Чтобы при следующем запуске процедуры поиска решения не повторять выполненные вычисления, установите переключатель Сохранить найденное решение или Сохранить сценарий.
§ Поиск остановлен (достигнуто максимальное число итераций). Произведено разрешенное число итераций, но достичь удовлетворительного решения не удалось. Увеличение числа итераций может помочь, однако следует рассмотреть результаты, чтобы понять причины остановки. Чтобы при следующем запуске процедуры поиска решения не повторять выполненные вычисления, установите переключатель Сохранить найденное решениеили нажмите кнопку Сохранить сценарий.
§ Значения целевой ячейки не сходятся. Значение целевой ячейки неограниченно увеличивается (или уменьшается), даже если все ограничения соблюдены. Возможно, следует в задаче снять одно ограничение или сразу несколько. Изучите процесс расхождения решения, проверьте ограничения и запустите задачу снова.
§ Поиск не может найти подходящего решения. В процессе поиска решения нельзя сделать итерацию, которая удовлетворяла бы всем ограничениям при заданной точности. Вероятно, ограничения противоречивы. Исследуйте лист на предмет возможных ошибок в формулах ограничений или в выборе ограничений.
§ Поиск остановлен по требованию пользователя. Нажата кнопка Стоп в диалоговом окне Текущее состояние поиска решения после прерывания поиска решения в процессе выполнения итераций.
§ Условия для линейной модели не удовлетворяются. Установлен флажок Линейная модель, однако итоговый пересчет порождает такие значения, которые не согласуются с линейной моделью. Это означает, что решение недействительно для данных формул листа. Чтобы проверить линейность задачи, установите флажок Автоматическое масштабирование и повторно запустите задачу. Если это сообщение опять появится на экране, снимите флажок Линейная модель и снова запустите задачу.
Поиск решения в Excel
§ При поиске решения обнаружено ошибочное значение в целевой ячейке или в ячейке ограничения. При пересчете значений ячеек обнаружена ошибка в одной формуле или в нескольких сразу. Найдите целевую ячейку или ячейку ограничения, порождающие ошибку, и измените их формулы так, чтобы они возвращали подходящее числовое значение.
Набрано неверное имя или формула в окне Добавить ограничение или окне Изменить ограничение или в поле Ограничение были заданы целое или двоичное ограничение. Чтобы ограничить значения ячейки множеством целых чисел, выберите оператор целого ограничения в списке условных операторов. Чтобы установить двоичное ограничение, выберите оператор для двоичного ограничения.
§ Мало памяти для решения задачи. Система не смогла выделить память, необходимую для поиска решения. Закройте некоторые файлы или приложения, и попытайтесь снова выполнить процедуру поиска решения.
§ Другой экземпляр Excel использует SOLVER.DLL. Запущено несколько копий Microsoft Excel, в одном из которых используется файл Solver.dll.
§ Оптимальное решение не найдено.
Поиск решения может остановиться до достижения оптимального решения по следующим причинам:
· Пользователь прервал процесс поиска.
· Команда Показывать результаты итераций в диалоговом окне Параметры поиска решения выбрана перед Выполнить.
· Пользователь нажал кнопку Стоп в режиме пошагового выполнения итераций, по истечении времени, отведенного на работу процедуры, или после выполнения заданного числа итераций.
· Установлен флажок Линейная модель в диалоговом окне Параметры поиска решения, в то время как решаемая задача не линейна.
· Значение, заданное в поле Установить диалогового окна Поиск решения, неограниченно увеличивается или уменьшается.
· Необходимо изменить значения полей Максимальное время или Итерации в диалоговом окне Параметры поиска решения.
· В случае задач, значения в которых ограничены множеством целых чисел, необходимо уменьшить значение в поле Допустимое отклонение диалогового окна Параметры поиска решения, что позволит найти лучшее решение.
· В случае нелинейных задач необходимо уменьшить значение в поле Сходимость диалогового окна Параметры поиска решения, что позволит продолжать поиск решения, когда значение в целевой ячейке изменяется медленно.
· Необходимо установить флажок Автоматическое масштабирование в диалоговом окне Параметры поиска решения, если значения влияющих ячеек или значения влияющей и целевой ячеек различаются на несколько порядков.
После остановки на экране отображается диалоговое окно Результаты поиска решения. Установите переключатель в положение Сохранить найденное решение или Восстановить исходные значения, внесите нужные изменения и запустите процедуру поиска решения снова.
Диалоговое окно “Результаты поиска решения”
Используется для вывода итогового сообщения и найденного решения.
Сохранить найденное решение | Служит для сохранения найденного решения во влияющих ячейках модели. |
Восстановить исходные значения | Служит для восстановления исходных значений влияющих ячеек модели. |
Отчеты | Служит для указания типа отчета, размещаемого на отдельном листе книги. |
Результаты | Используется для создания отчета, состоящего из целевой ячейки и списка влияющих ячеек модели, их исходных и конечных значений, а также формул ограничений и дополнительных сведений о наложенных ограничениях. |
Устойчивость | Используется для создания отчета, содержащего сведения о чувствительности решения к малым изменениям в формуле модели или в формулах ограничений. Такой отчет не создается для моделей, значения в которых ограничены множеством целых чисел. В случае нелинейных моделей отчет содержит данные для градиентов и множителей Лагранжа. В отчет по нелинейным моделям включаются ограниченные затраты, фиктивные цены, объективный коэффициент (с некоторым допуском), а также диапазоны ограничений справа. |
Пределы | Используется для создания отчета, состоящего из целевой ячейки и списка влияющих ячеек модели, их значений, а также нижних и верхних границ. Такой отчет не создается для моделей, значения в которых ограничены множеством целых чисел. Нижним пределом является наименьшее значение, которое может содержать влияющая ячейка, в то время как значения остальных влияющих ячеек фиксированы и удовлетворяют наложенным ограничениям. Соответственно верхним пределом называется наибольшее значение. |
Вернуться в диалоговое окно параметров | Служит для возвращения в диалоговое окно Параметры поиска решения |
Сохранить сценарий | Служит для отображения диалогового окна Сохранение сценария, в котором можно сохранить сценарий решения задачи, чтобы использовать его в дальнейшем с помощью диспетчера сценариев Microsoft Excel. |
Диалоговое окно “Сохранить сценарий”
Источник: studopedia.ru
Функция Поиск решения в Excel. Включение, пример использования со скриншотами
«Поиск решения» является надстройкой Эксель, посредством которой возможно подобрать лучшее решение задач на основе указанных ограничений. Функция дает возможность составлять график работников, распределять расходы либо инвестиционные вложения. Знание принципа работы такой функции поможет сэкономить время и силы.
Что такое Поиск решений
В комплексе с различными другими опциями в Excel существует одна менее популярная, однако крайне нужная функция «Поиск решения». Невзирая на то, что отыскать ее бывает нелегко, ознакомление с ней и использование помогает в разрешении множества задач. Опция обрабатывает данные и выдает оптимальное решение из допустимых. В статье описывается, как непосредственно функционирует «Поиск решения».
Как включить функцию «Поиск решения»
Невзирая на эффективность, рассматриваемая опция не находится на видном месте панели инструментов либо контекстного меню. Большинство юзеров, которые работают в Эксель, не знают о ее наличии. По умолчанию такая функция выключена, для ее отображения следует произвести такие действия:
- Открываем «Файл», нажимая на соответствующее название.
- Кликаем на раздел «Параметры».
- Затем выбираем подраздел «Надстройки». Тут будут отображены все надстройки программы, внизу появится надпись «Управление». С правой стороны от нее будет всплывающее меню, где следует выбрать «Надстройки Excel». Потом нажимаем «Перейти».
- На мониторе высветится дополнительное окно «Надстройки». Устанавливаем флажок возле искомой функции и кликаем «ОК».
- Нужная функция появится на ленте справа от раздела «Данные».
О моделях
Данная информация будет крайне полезна тем, кто лишь ознакамливается с понятием «оптимизационная модель». До того, как воспользоваться «Поиском решения», рекомендуется исследовать материалы о методах построения моделей:
- рассматриваемая опция даст возможность выявить оптимальный метод, чтобы осуществить выделение средств на вложения, загрузку помещения, поставку товаров либо иные действия, где необходимо отыскать оптимальный вариант решения.
- «Оптимальный метод» в такой ситуации будет означать: увеличение доходов, снижение трат, улучшение качества и др.
Типовые задачи по оптимизации:
- Определение плана производства, во время чего прибыль от продажи выпущенных товаров будет максимальной.
- Определение карт перевозок, во время чего траты на транспортировку минимализируются.
- Поиск распределения нескольких станков по различным видам работ, чтобы траты на производство были снижены.
- Определение наименьшего срока выполнения работ.
Важно! Чтобы формализовать поставленную задачу, необходимо создать модель, отражавшую основные параметры предметной области. В Эксель модель является комплексом формул, использующих переменные. Рассматриваемая опция подыскивает такие показатели, чтобы целевая функция была больше (меньше) либо равнялась указанному значению.
Подготовительный этап
Перед тем как разместить функцию на ленте, необходимо изучить принцип функционирования опции. К примеру, есть сведения по реализации товаров, указанные в таблице. Задачей является назначение для каждого наименования скидки, которая составляла бы 4.5 млн. рублей. Параметр отображается внутри ячейки, именуемой целевой. Отталкиваясь от нее, рассчитываются прочие параметры.
Нашей задачей станет вычисление скидки, на которую умножаются суммы по реализации различной продукции. Эти 2 элемента связываются формулой, прописываемой так: =D13*$G$2. Где в D13 прописывается суммарное количество по реализации, а $G$2 – адрес искомого элемента.
Применение функции и ее настройка
Когда формула будет готова, необходимо использовать непосредственно саму функцию:
- Нужно переключиться в раздел «Данные» и нажать «Поиск решения».
- Откроются «Параметры», где задаются требуемые настройки. В строке «Оптимизировать целевую функцию:» следует указать ячейку, где выводится сумма по скидкам. Есть возможность прописать координаты самостоятельно или выбрать из документа.
- Далее нужно перейти к настройкам прочих параметров. В разделе «До:» есть возможность задать максимальную и минимальную границу либо точное число.
- Потом заполняется поле «Изменяя значения переменных:». Здесь вносятся данные искомой ячейки, которая содержит конкретное значение. Координаты прописываются самостоятельно или кликается соответствующая ячейка в документе.
- Затем редактируется вкладка «В соответствии с ограничениями:», где задаются ограничения применяемых данных. К примеру, исключаются десятичные дроби либо отрицательные числа.
- После открывается окно, которое позволяет добавлять ограничения при расчетах. В начальной строке указываются координаты ячейки либо целого диапазона. Следуя условиям задачи, указываются данные искомой ячейки, где выводится показатель скидки. Затем определяется знак сравнения. Устанавливается «больше либо равно», чтобы конечное значение не было со знаком «минус». «Ограничение», устанавливаемое в 3 строке, в такой ситуации равняется 0. Возможно выставить также ограничение посредством «Добавить». Последующие действия аналогичны.
- Когда выполнены вышеописанные действия, в самой большой строке появляется установленное ограничение. Перечень бывает большим и будет зависеть от сложности расчетов, однако в конкретной ситуации достаточно 1 условия.
- Кроме того, возможно выбирать другие дополнительные настройки. Внизу с правой стороны присутствует опция «Параметры», которая позволяет это сделать.
- В настройках можно выставить «Точность ограничения» и «Пределы решения». В нашей ситуации использовать эти опции нет нужды.
- Когда настройки завершены, запускается сама функция – нажимается «Найти решение».
- После программа проводит требуемые расчеты и выдает конечные расчеты в необходимых ячейках. Потом открывается окно с результатами, где сохраняются/отменяются итоги либо настраиваются параметры поиска по новой. Когда данные соответствуют требованиям, то найденное решение сохраняется. Если заранее установить отметку «Вернуться в диалоговое окно параметров поиска решения», будет открыто окно с настройками функции.
- Есть вероятность, что расчеты оказались ошибочными или есть необходимость в изменении исходных данных в целях получения других показателей. В такой ситуации требуется вновь открыть окно с настройками и перепроверить сведения.
- Когда данные точны, можно воспользоваться альтернативным методом. В этих целях нужно нажать на текущий вариант и из появившегося списка выбрать самый подходящий способ:
- Поиск решения посредством обобщенного градиента для нелинейных задач. По умолчанию применяется такой вариант, однако возможно воспользоваться и другими.
- Поиск решения для линейных задач на основе симплекс-метода.
- Использование эволюционного поиска в целях выполнения задачи.
Внимание! Когда вышеназванные варианты не смогли справиться с задачей, следует осуществить проверку данных в настройках снова, так как это зачастую бывает основной ошибкой в таких задачах.
- Когда получена искомая скидка, остается ее применить для подсчета суммы скидок по каждому наименованию. В этих целях выделяется начальный элемент столбика «Сумма скидки», прописывается формула «=D2*$G$2» и жмется «Enter». Значки доллара проставляются, чтобы во время растягивания формулы на смежные строчки G2 не изменялась.
- Теперь будет получена сумма скидки для начального наименования. Затем следует навести курсор на угол ячейки, когда он станет «плюсом», зажимается ЛКМ и формула растягивается на необходимые строки.
- После этого таблица будет окончательно готова.
Загрузить/сохранить параметры Поиска решений
Данная опция полезна при применении различных вариантов ограничений.
- В меню «Параметры поиска решения» следует нажать «Загрузить/сохранить».
- Вводится диапазон для области модели и нажимается «Сохранить или Загрузить».
Во время сохранения модели вводится ссылка на 1 ячейку пустого столбца, где будет размещена модель оптимизации. В процессе загрузки модели вводится ссылка на весь диапазон, где содержится модель оптимизации.
Важно! Для сохранения последних настроек в меню «Параметры поиска решения» сохраняется книга. Каждый лист в ней имеет собственные параметры надстройки «Поиск решения». Помимо того, для листа возможно выставить больше 1 задачи при нажатии кнопки «Загрузить или сохранить» в целях сохранения отдельных задач.
Простой пример использования Поиска решения
Нужно провести загрузку контейнера тарой, чтобы его масса была максимальной. Емкость обладает объемом в 32 куб. м. Наполненная коробка имеет вес в 20 кг, ее объем равен 0,15 куб. м. Ящик – 80 кг и 0,5 куб. м. Требуется, чтобы общее число тары составляло не менее 110 шт. Данные организовываются так:
Переменные модели отметим зеленым. Целевая функция выделяется красным. Ограничения: по наименьшему количеству тары (больше либо равно 110) и по массе (=СУММПРОИЗВ(B8:C8;B6:C6) – суммарный вес тары, находящейся в контейнере.
По аналогии считаем общий объем: =СУММПРОИЗВ(B7:C7;B8:C8). Такая формула необходима, чтобы выставить ограничение на суммарный объем тары. Потом посредством «Поиск решения» вводятся ссылки на элементы с переменными, формулами и самими показателями (либо ссылки на конкретные ячейки). Разумеется, что количество тары – целое число (также является ограничением). Нажимаем «Найти решение», в результате чего находится такое число тары, когда общая масса максимальна и учтены все ограничения.
Поиску решения не удалось найти решения
Такое уведомление выскакивает, когда рассматриваемая функция не нашла сочетаний показателей переменных, удовлетворяющих каждому ограничению. При использовании Симплекс-метода вполне возможно, что решения нет.
Когда используется способ решения нелинейных задач, во всех случаях начинающийся с начальных показателей переменных, это свидетельствует о том, что возможное решение далеко от таких параметров. Если запустить функцию с прочими начальными показателями переменных, то, вероятно, решение найдется.
К примеру, во время использования нелинейного способа, элементы таблицы с переменными не заполнялись, и функция не нашла решений. Это не значит, что решения нет. Теперь, с учетом результатов определенной оценки, в элементы с переменными вводятся другие данные, близкие к получаемым.
В любой ситуации изначально следует изучить модель на отсутствие противоречия ограничений. Зачастую подобное взаимосвязано с ненадлежащим подбором соотношения либо предельного показателя.
В вышеуказанном примере показатель максимального объема указан 16 куб. м вместо 32, потому такое ограничение противоречит показателям по минимальным количествам мест, поскольку ему будет соответствовать число 16,5 куб. м.
Исходя из этого, опция «Поиск решения» в Excel поможет в разрешении конкретных задач, которые довольно трудно либо невозможно решить обычными способами. Сложность в применении такого метода состоит в том, что изначально эта опция скрыта, ввиду чего большинство пользователей не знают о ее наличии. Кроме того, функция достаточно сложна в изучении и использовании, однако при надлежащем исследовании, она принесет большую пользу и облегчит расчеты.
Источник: office-guru.ru
Поиск решения произошла внутренняя непредвиденная ошибка
Передо мной встала такая вот проблема:
Хочу вызвать из Delphi Поиск решения в Excel. Для этого написал макрос, запускающий поиск решения, и
сохранил в шаблоне книги Excel.
Из Delphi запускаю Excel:
XLApp:=CreateOleObject(«Excel.Application»);
Открываю шаблон:
Workbook:=XLApp.Workbooks.Add(«c:TPsolver1.xlt»);
Передаю необходимые данные в Excel и пытаюсь запустить макрос:
OLEVariant(XLApp).Run(«Module1.runsolver»);
Как только дело доходит до выполнения макроса, появляется сообщение об ошибке:
«Поиск решения: непредвиденная внутренняя ошибка или достигнут предел памяти».
Далее: Сохранаяем книгу. Закрываем. Открываем вручную. Запускаем макрос. Всё работает.
Вопрос: Возможна ли работа из Delphi c Solver»ом Excel через OLEAutomation? И вообще возможно ли всё
это в принципе? И если возможно, то как?
Источник: delphimaster.net
Solveradd in excel 2016 — Произошла непредвиденная внутренняя ошибка или исчерпана доступная память
Когда я добавляю строки solveradd в этот код, vba возвращает сообщение:
Произошла непредвиденная внутренняя ошибка, или доступная память была исчерпана.
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Sub Mean_restriction()
For i = 3 To 5
SolverOk SetCell:=Cells(277, i), MaxMinVal:=2, ValueOf:=0,
ByChange:=Range(Cells(270, i), Cells(273, i)) _
, Engine:=1, EngineDesc:=»GRG Nonlinear»
solveradd cellref:=Cells(274, i), relation:=2, formulatext:=»1″
solveradd cellref:=Cells(276, i), relation:=2, formulatext:=Cells(282, i)
SolverSolve UserFinish:=True
Next i
End Sub
спросил(а) 2017-10-26T23:14:00+03:00 5 лет, 2 месяца назад
Источник: progi.pro
SSAS Внутренняя ошибка: произошла непредвиденная ошибка (файл ‘pfcre.cpp’, функция PFCREngine :: SelectCartridge)
Кто-нибудь видел эту ошибку раньше? Если да, то как вы это исправили? Я ничего не могу найти в Google.
Вот что я сделал:
- Я попытался выполнить поиск в Google, но практически ничего не вышло.
- Я везде проверил все свои разрешения, и, насколько я могу судить, проблема не в этом.
- Сборка и развертывание не вызывает ошибок.
- У меня ошибки возникают только тогда, когда я пытаюсь обработать свой куб.
Изменить №1:
Я прикрепил изображение, показывающее информацию о версии. Я ни разу не обработал куб успешно. Я получаю это с самого начала, когда пытался обработать один.
Правка № 2
Извините за задержку, но я столкнулся с некоторыми ошибками благодаря последнему обновлению Windows.
Я больше не получаю это сообщение об ошибке после переустановки всего, но вот что у меня сейчас:
Я пытаюсь научить себя использовать SSAS для самообучения. Я скачал базу где-то с Microsoft.
Источник: question-it.com
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!
Привет.
Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
Здравствуйте, 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’); // вот тут оно и говорит такую фигню
…