Юрий М, я использовал разные варианты решения проблемы, в том числе те, которые указаны в ПОИСКЕ, но, к сожалению, результата добиться пока не удалось.
Недостаточно системных ресурсов для полного вывода на экран., Недостаточно системных ресурсов для полного вывода на экран.
Недостаточно системных ресурсов для полного вывода на экран., Недостаточно системных ресурсов для полного вывода на экран.
14.07.2014 13:49:26
Здравствуйте, коллеги.
Для проведения расчётов и их визуального контроля в режиме реального времени мною написано приложение в Excel (на одном листе) с использованием достаточного количества формул, нескольких макросов и стандартных элементов управления (кнопки, счётчики, полосы прокрутки, текстовые поля ActiveX), а также с применением условного форматирования ячеек (выделение по цвету, гистограммы, наборы значков и т. п.). При этом для вычислений используются импортируемые данные (обновление - каждую секунду). Проблема заключается в том, что с течением времени, через некоторый период успешной работы (5-10 минут), Excel зависает и появляется окно с сообщением "Недостаточно системных ресурсов для полного вывода на экран". Вместе с тем, согласно информации в Диспетчере задач, программа потребляет немного ресурсов: лишь около 5% ЦП и 100 Мб ОЗУ. Должен добавить, что в процессе работы, кроме Excel (Office 2013, лицензионная версия) и платформы, откуда импортируются данные, иные приложения мною не запускаются, а сам компьютер весьма мощный: ОС Windows 8.1, процессор Intel Core i7 2.4 GHz, оперативная память 16 Гб. Прошу, по возможности, подсказать как исключить зависание Excel?
Изменено: |
|
|
Поиск текста в фигурах.
Поиск текста в фигурах.
Поиск текста в фигурах.
Поиск текста в фигурах.
Поиск текста в фигурах.
Поиск текста в фигурах.
Ускорение работы Excel-приложений.
03.12.2013 20:08:22
Коллеги, спасибо большое за комментарии.
При этом, в рамках темы, прошу уточнить: можно ли, чтобы ускорить работу Excel, отключить всю анимацию? То есть чтобы, например, при импорте данных, или, к примеру, использовании счётчиков, а также любых других ситуациях значения в ячейках изменялись без подмигиваний, проскальзываний и иных ресурсоёмких динамических эффектов.
Изменено: |
|
|
Ускорение работы Excel-приложений.
Ускорение работы Excel-приложений.
Ускорение работы Excel-приложений.
03.12.2013 11:38:59
Спасибо, ber$erk.
Возможно есть ещё функции по ускорению работы Excel? Мне кажется, будет полезным собрать на этой странице все основные функции и приёмы, добавление и использование которых помогает сделать исполнение макросов более быстрым.
Изменено: |
|
|
Ускорение работы Excel-приложений.
03.12.2013 11:20:11
Здравствуйте. Прошу поделиться функциями, а также приёмами, которые помогают ускорить выполнение макросов.
К примеру, чтобы экран не обновлялся при каждом исполнении процесса, я использую строку:
Изменено: |
|||
|
Обработка ошибок Run-time error
Закрытие и открытие сторонней программы.
28.11.2013 01:20:35
Doober, спасибо за предложенный код, но может быть существует более короткий вариант?
К примеру, если бы при открытии сторонней программы логин и пароль не требовался, то достаточно было бы добавить в макрос лишь одну строчку:
Изменено: |
|||
|
Закрытие и открытие сторонней программы.
Обработка ошибок Run-time error
Обработка ошибок Run-time error
23.11.2013 18:36:09
Если у Вас есть более корректное, чем приведённое выше, решение обработки некритических ошибок в макросах, требующее лишь их перезапуска, прошу привести пример. Возможно, нижняя строчка "On Error GoTo 0" необязательна и достаточно лишь добавить верхнюю "On Error Resume Next"?
Изменено: |
|||
|
Обработка ошибок Run-time error
23.11.2013 18:19:53
ikki, кстати, именно цикл с временем и помог. Как раз так я и идентифицировал проблему с доступом.
В этой фразе "согласно совету ikki" имелось в виду "порекомендовал нужные функции" ![]() Именно для того, чтобы исключить проиллюстрированный Вами случай
Изменено: |
|||||
|
Обработка ошибок Run-time error
23.11.2013 17:36:57
The_Prist, я предполагаю, что отсутствие доступа возникает потому, что различные макросы импортируют данные из одного и того же текстового файла: когда в какой-то момент они это делают одновременно, именно тогда, как мне кажется, и случается ошибка с доступом, ибо файл, занятый одним из макросов, становится недоступным для других. Подправьте меня, если считаете, что это не может являться причиной.
В таком случае, необходимо, чтобы тот или иной макрос при наступлении ошибки перевыполнялся вплоть до успешного раза. Соответственно, наиболее безопасным мне представляется, согласно совету ikki, проставить в макросах следующие строки: в начале
Изменено: |
|||||
|
Обработка ошибок Run-time error
Обработка ошибок Run-time error
Обработка ошибок Run-time error
23.11.2013 16:38:14
Коллеги, здравствуйте.
В процессе автономной работы Excel-приложения периодически возникают ошибки вида "Run-time error" (пример во вложенной фотографии) - из-за этого останавливается выполнение макросов и всего файла в целом. После нажатия кнопки "End" на всплывающем окне всё нормализуется до следующего появления подобной ошибки. Прошу вас, по возможности, уточнить: можно ли как-то прописать в макросах, VBA-коде книги или листов универсальную команду, чтобы при появлении подобных и любых других ошибок они автоматически обрабатывались и работа Excel не прекращалась?
Изменено: |
|
|
Несколько условий в нескольких столбцах.
Счётчик выполнения условия в ячейке.
18.11.2013 21:15:42
Юрий М, сегодня протестировал Ваш вариант.
Спасибо большое, это то, что было нужно! P. S. В целом, конечно, не думал, что обычный счётчик придётся делать через скрытый ActiveX-элемент. Странно, что в Excel нет встроенной функции/формулы для стандартного подсчёта тех или иных событий - ведь это, как мне кажется, весьма универсальная потребность. |
|
|
Счётчик выполнения условия в ячейке.
Счётчик выполнения условия в ячейке.
17.11.2013 01:52:11
А если количество итераций много? Уже долгое время пытаюсь найти ответ на этот вроде бы простой вопрос...
Но все формулы так или иначе получаются циклическими, а макросы либо вовсе не реагируют на фоновое изменение в ячейке А1 (при использовании Worksheet_Change(ByVal Target As Range)), либо начинают самоисполняться бесконечное количество раз (при использовании Worksheet_Calculate()). Неужели никак нельзя сделать обычный стандартный счётчик, чтобы в ячейке B1 просто прибавлялась 1 при каждом автоматическом (ввод НЕ вручную) наступлении события "Х" в ячейке А1 (например, при удовлетворении условию формулы или импорте определённого значения)? |
|
|
Автоматическая смена раскладки клавиатуры на английскую при открытии файла.
15.11.2013 23:20:21
На данный момент, самым коротким и красивым решением оказалось вот это:
|
|||
|
Автоматическая смена раскладки клавиатуры на английскую при открытии файла.
15.11.2013 22:31:24
Спасибо за ссылку. Я, естественно, искал решение до того, как задать вопрос. И уже много раз переходил по указанной Вами ссылке. Но не смог разобраться с предложенным там решением. Возможно, есть более короткое решение в одну строку?
То есть в моём случае не стоит задача смены языка при смене ячеек. А лишь необходимо, чтобы при открытии файла раскладка была гарантированно английской.
Изменено: |
|
|
Автоматическая смена раскладки клавиатуры на английскую при открытии файла.
15.11.2013 21:58:27
Здравствуйте, прошу подсказать, как в макросе Auto_Open() прописать автоматическую смену раскладки клавиатуры на английскую при открытии файла, если раскладка до открытия файла была русской?
Я пробовал с помощью Application.SendKeys ("%+" ;) , но в этом случае если раскладка до открытия файла была английской, то при его открытии она становится русской. А нужно, чтобы если раскладка английская, то оставалась таковой и не менялась. То есть задача состоит в том, чтобы после открытия файла раскладка клавиатуры в любом случае была английская, независимо от предшествующей раскладки.
Изменено: |
|
|