Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Недостаточно системных ресурсов для полного вывода на экран., Недостаточно системных ресурсов для полного вывода на экран.
 
Юрий М, я использовал разные варианты решения проблемы, в том числе те, которые указаны в ПОИСКЕ, но, к сожалению, результата добиться пока не удалось.
Недостаточно системных ресурсов для полного вывода на экран., Недостаточно системных ресурсов для полного вывода на экран.
 
Здравствуйте, коллеги.
Для проведения расчётов и их визуального контроля в режиме реального времени мною написано приложение в Excel (на одном листе) с использованием достаточного количества формул, нескольких макросов и стандартных элементов управления (кнопки, счётчики, полосы прокрутки, текстовые поля ActiveX), а также с применением условного форматирования ячеек (выделение по цвету, гистограммы, наборы значков и т. п.). При этом для вычислений используются импортируемые данные (обновление - каждую секунду).
Проблема заключается в том, что с течением времени, через некоторый период успешной работы (5-10 минут), Excel зависает и появляется окно с сообщением "Недостаточно системных ресурсов для полного вывода на экран".
Вместе с тем, согласно информации в Диспетчере задач, программа потребляет немного ресурсов: лишь около 5% ЦП и 100 Мб ОЗУ. Должен добавить, что в процессе работы, кроме Excel (Office 2013, лицензионная версия) и платформы, откуда импортируются данные, иные приложения мною не запускаются, а сам компьютер весьма мощный: ОС Windows 8.1, процессор Intel Core i7 2.4 GHz, оперативная память 16 Гб.
Прошу, по возможности, подсказать как исключить зависание Excel?

Изменено: paylevan - 14.07.2014 15:55:20
Поиск текста в фигурах.
 
Юрий М, Игорь, спасибо большое! Получилось то, что было необходимо.
Изменено: paylevan - 31.05.2014 15:06:17
Поиск текста в фигурах.
 
Юрий М, буду признателен, если подскажете, как это реализовать.
Поиск текста в фигурах.
 
Юрий М, возможно сделать так, чтобы при поиске регистр букв не учитывался? На данный момент, если, к примеру, искомое слово в фигуре начинается с заглавной буквы, а в ячейке А1 оно указывается со строчной, то слово не находится.
Поиск текста в фигурах.
 
Юрий М, спасибо, получилось, но частично, ибо поиск осуществляется лишь в том случае, если точно и полностью указана вся фраза.
Но необходимо, чтобы находились и отдельные слова, так, как это и реализовано в стандартной функции "Найти и заменить" для ячеек.
Изменено: paylevan - 31.05.2014 14:25:34
Поиск текста в фигурах.
 
Юрий М, спасибо за ответ.
Но пока не удалось с помощью приведённого Вами макроса осуществить поиск в фигурах искомого текста, указанного в ячейке А1.
При выполнении макроса ничего не происходит. Возможно, нужны ещё какие-либо действия?
Поиск текста в фигурах.
 
Здравствуйте. Прошу подсказать: есть ли способ поиска текста в фигурах (прямоугольник, треугольник и т. п.)?
Или функция "Найти и заменить" актуальна только для поиска текста в ячейках?
Буду признателен за конструктивный совет.
Изменено: paylevan - 31.05.2014 14:41:13
Ускорение работы Excel-приложений.
 
Коллеги, спасибо большое за комментарии.

При этом, в рамках темы, прошу уточнить: можно ли, чтобы ускорить работу Excel, отключить всю анимацию?
То есть чтобы, например, при импорте данных, или, к примеру, использовании счётчиков, а также любых других ситуациях значения в ячейках изменялись без подмигиваний, проскальзываний и иных ресурсоёмких динамических эффектов.
Изменено: paylevan - 03.12.2013 20:24:52
Ускорение работы Excel-приложений.
 
ber$erk, конечно пользовался, но будет здорово собрать всё на одной странице и, возможно, узнать  новые способы ускорения работы.

При этом особенно ценны практические рекомендации из опыта, подобные комментарию vikttur.
Ускорение работы Excel-приложений.
 
ber$erk, если собрать всё воедино, то когда тема со временем уедет вниз, её легко будет найти по тематическим запросам в любом поисковике. Поэтому, всё же, польза, мне кажется, есть.

vikttur, спасибо большое за практические рекомендации.
Ускорение работы Excel-приложений.
 
Спасибо, ber$erk.

Возможно есть ещё функции по ускорению работы Excel?

Мне кажется, будет полезным собрать на этой странице все основные функции и приёмы, добавление и использование которых помогает сделать исполнение макросов более быстрым.
Изменено: paylevan - 03.12.2013 13:14:08
Ускорение работы Excel-приложений.
 
Здравствуйте. Прошу поделиться функциями, а также приёмами, которые помогают ускорить выполнение макросов.
К примеру, чтобы экран не обновлялся при каждом исполнении процесса, я использую строку:
Код
Application.ScreenUpdating = False
Какие ещё желательно добавить строки в VBA-код, чтобы убыстрить, в целом, работу Excel-приложения?
Изменено: paylevan - 03.12.2013 13:11:57
Обработка ошибок Run-time error
 
Здравствуйте, Слэн, спасибо большое за предложенный вариант.
Закрытие и открытие сторонней программы.
 
Doober, спасибо за предложенный код, но может быть существует более короткий вариант?

К примеру, если бы при открытии сторонней программы логин и пароль не требовался, то достаточно было бы добавить в макрос лишь одну строчку:
Код
Call Shell("C:\Program Files\program.exe", 1)
Изменено: paylevan - 28.11.2013 01:21:41
Закрытие и открытие сторонней программы.
 
Здравствуйте.
Прошу, по возможности, подсказать, как прописать в макросе Excel следующие две задачи:
1. Закрыть стороннее приложение без сохранения.
2. Открыть стороннее приложение, требующее ввода логина и пароля.
Обработка ошибок Run-time error
 
ikki, спасибо большое за подробный ответ.

По поводу "on error goto 0" Вы правы: обратил внимание, что без этой строчки результат один и тот же.
Изменено: paylevan - 23.11.2013 18:51:10
Обработка ошибок Run-time error
 
Цитата
читайте справку
ikki, именно с неё я и начал. И всегда рекомендую всем это делать.
Если у Вас есть более корректное, чем приведённое выше, решение обработки некритических ошибок в макросах, требующее лишь их перезапуска, прошу привести пример.
Возможно, нижняя строчка "On Error GoTo 0" необязательна и достаточно лишь добавить верхнюю "On Error Resume Next"?
Изменено: paylevan - 23.11.2013 18:50:11
Обработка ошибок Run-time error
 
ikki, кстати, именно цикл с временем и помог. Как раз так я и идентифицировал проблему с доступом.
В этой фразе "согласно совету ikki" имелось в виду "порекомендовал нужные функции"  :)   .
Именно для того, чтобы исключить проиллюстрированный Вами случай
Цитата
попробовали прочитать файл - он занят - ну и фиг с ним - проигнорировали ошибку и пошли дальше, как будто всё нормально.
и используется в конце строчка
Код
On Error GoTo 0
чтобы макрос при возникновении ошибки не "пошёл дальше", а перезапустился заново.
Изменено: paylevan - 23.11.2013 18:34:45
Обработка ошибок Run-time error
 
The_Prist, я предполагаю, что отсутствие доступа возникает потому, что различные макросы импортируют данные из одного и того же текстового файла: когда в какой-то момент они это делают одновременно, именно тогда, как мне кажется, и случается ошибка с доступом, ибо файл, занятый одним из макросов, становится недоступным для других. Подправьте меня, если считаете, что это не может являться причиной.
В таком случае, необходимо, чтобы тот или иной макрос при наступлении ошибки перевыполнялся вплоть до успешного раза. Соответственно, наиболее безопасным мне представляется, согласно совету ikki, проставить в макросах следующие строки:
в начале
Код
On Error Resume Next
в конце
Код
On Error GoTo 0
Простейший пример решения данной проблемы - во вложенной фотографии. Если есть более надёжный вариант, прошу написать.
Изменено: paylevan - 23.11.2013 18:51:05
Обработка ошибок Run-time error
 
ikki, везде "принтскрины" и "ножницы", а здесь фотография. Пусть будет  :)  . Для разнообразия  :)  .
Изменено: paylevan - 23.11.2013 17:02:39
Обработка ошибок Run-time error
 
Нет, обычно пользуюсь PrtSc. Просто в этот раз надо было на телефон сфотографировать, чтобы взять с собой. Буду признателен за конструктивный совет.
Обработка ошибок Run-time error
 
Коллеги, здравствуйте.

В процессе автономной работы Excel-приложения периодически возникают ошибки вида "Run-time error" (пример во вложенной фотографии) - из-за этого останавливается выполнение макросов и всего файла в целом. После нажатия кнопки "End" на всплывающем окне всё нормализуется до следующего появления подобной ошибки.

Прошу вас, по возможности, уточнить: можно ли как-то прописать в макросах, VBA-коде книги или листов универсальную команду, чтобы при появлении подобных и любых других ошибок они автоматически обрабатывались и работа Excel не прекращалась?
Изменено: paylevan - 23.11.2013 16:44:22
Несколько условий в нескольких столбцах.
 
Здравствуйте.

Прошу посоветовать как корректнее записать формулу для идентификации строки в массиве данных А:B: если появляется строка, где в столбце А значение "HELP", а в столбце B значение "YES", то пуск, иначе стоп.

Пробовал решить задачу с помощью ВПР(), но неудачно:
Код
=ЕСЛИ(ВПР("HELP";A:B;2;ЛОЖЬ)="YES";пуск;стоп)

Вся проблема в том, что "HELP" встречается в столбце A много раз и каждый раз ему могут соответствовать разные значения из столбца B (например, "NEVER", "MAYBE", "NO" и т. д.). К сожалению, ВПР() анализирует не все, а только лишь первое появление "HELP" в столбце A.
Счётчик выполнения условия в ячейке.
 
Юрий М, сегодня протестировал Ваш вариант.

Спасибо большое, это то, что было нужно!

P. S.
В целом, конечно, не думал, что обычный счётчик придётся делать через скрытый ActiveX-элемент. Странно, что в Excel нет встроенной функции/формулы для стандартного подсчёта тех или иных событий - ведь это, как мне кажется, весьма универсальная потребность.
Счётчик выполнения условия в ячейке.
 
Юрий М, я пробовал всё, что представляется возможным. Однако, к сожалению, пока не удаётся найти решение.
Счётчик выполнения условия в ячейке.
 
А если количество итераций много? Уже долгое время пытаюсь найти ответ на этот вроде бы простой вопрос...

Но все формулы так или иначе получаются циклическими, а макросы либо вовсе не реагируют на фоновое изменение в ячейке А1 (при использовании Worksheet_Change(ByVal Target As Range)), либо начинают самоисполняться бесконечное количество раз (при использовании Worksheet_Calculate()).

Неужели никак нельзя сделать обычный стандартный счётчик, чтобы в ячейке B1 просто прибавлялась 1 при каждом автоматическом (ввод НЕ вручную) наступлении события "Х" в ячейке А1 (например, при удовлетворении условию формулы или импорте определённого значения)?
Автоматическая смена раскладки клавиатуры на английскую при открытии файла.
 
На данный момент, самым коротким и красивым решением оказалось вот это:
Код
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Private Sub Workbook_Open()
x = ActivateKeyboardLayout&(67699721, 0)
End Sub
Спасибо большое за комментарии.
Автоматическая смена раскладки клавиатуры на английскую при открытии файла.
 
Спасибо за ссылку. Я, естественно, искал решение до того, как задать вопрос. И уже много раз переходил по указанной Вами ссылке. Но не смог разобраться с предложенным там решением. Возможно, есть более короткое решение в одну строку?

То есть в моём случае не стоит задача смены языка при смене ячеек. А лишь необходимо, чтобы при открытии файла раскладка была гарантированно английской.
Изменено: paylevan - 15.11.2013 22:32:01
Автоматическая смена раскладки клавиатуры на английскую при открытии файла.
 
Здравствуйте, прошу подсказать, как в макросе Auto_Open() прописать автоматическую смену раскладки клавиатуры на английскую при открытии файла, если раскладка до открытия файла была русской?
Я пробовал с помощью Application.SendKeys ("%+" ;)   , но в этом случае если раскладка до открытия файла была английской, то при его открытии она становится русской. А нужно, чтобы если раскладка английская, то оставалась таковой и не менялась.
То есть задача состоит в том, чтобы после открытия файла раскладка клавиатуры в любом случае была английская, независимо от предшествующей раскладки.
Изменено: paylevan - 16.11.2013 00:37:25
Страницы: 1 2 След.
Наверх