andylu, я бы сам то же самое ответил. Но есть нюанс: среди людей, кто будет тестировать, нет тех, кто сам обладает достаточными знаниями. Тот, кого возьмут, должен быть как в части знания Excel лучше их. А у меня наниматься в добровольцы и собеседовать людей или самому что-то придумавать нет ни желания, ни разумных причин, я в другом месте работаю 
Помогите подобрать онлайн-тест на уровень знаний Excel
Помогите подобрать онлайн-тест на уровень знаний Excel
Событие Change для comboBox срабатывает, хотя comboBox никто не трогает
|
14.01.2021 13:44:54
А что поделать, не было бы ошибок, зачастую глупых - не было бы смысла в этой теме. То, что в первую очередь закидают чем ни попадя и обзовут, принимаю как данность Не зря зарегистрировался еще до своего рождения, опыт есть |
|||
|
|
|
Событие Change для comboBox срабатывает, хотя comboBox никто не трогает
|
14.01.2021 13:42:18
При этом так и осталось непонятным, почему фильтры так влияют на процесс, вызывают не связанные с ними события и ошибку 1004. Самое умное, что я на эту тему нашел, это отключение EnableEvents и On Error Resume Next, но это же еще худшая бесовщина. |
|||
|
|
|
Событие Change для comboBox срабатывает, хотя comboBox никто не трогает
Событие Change для comboBox срабатывает, хотя comboBox никто не трогает
Ошибка 400 при обращении к Range
|
17.12.2020 18:12:23
Век живи - ... Я всегда работал, исходя из того, что в конструкции Range(Cells()) ячейки, указанные в Cells, находятся на том же листе, что и Range. Исходя из этого неправильного предположения, написал километры страниц кода, и они работали правильно. Просто перед обращением к данной конструкции всегда приходилось делать Activate того листа, где находится нужный Range. |
|||
|
|
|
Ошибка 400 при обращении к Range
|
16.12.2020 22:37:33
|
|||
|
|
|
Ошибка 400 при обращении к Range
Ошибка 400 при обращении к Range
|
16.12.2020 22:21:17
Тем не менее, буду признателен, если предложите свой вариант кода, который не будет генерировать ошибку 400. Вот собственно проблемный файл. Среда - Excel 2019. |
|||
|
|
|
Ошибка 400 при обращении к Range
Ошибка 400 при обращении к Range
Альтернатива Суммирования функций суммеслимн
|
16.11.2020 12:46:08
Формулы массивов покороче выглядят (см. вложение).
Вообще, на тему лаконичности, всегда нужно искать баланс между двумя подходами, в зависимости от вашего восприятия: 1) разбивать сложные вычисления на простые и более понятные для восприятия формулы в разных ячейках, минус - приходится создавать дополнительные вспомогательные поля; 2) запихивать максимум вычислений в одну ячейку, тем самым избавившись от дополнительных полей, но тогда формулы будут длинными и для людей неопытных вообще непонятные. |
|
|
|
|
Выбор последнего значения среди повторяющихся
|
16.11.2020 12:04:53
Основная идея: для каждой строки суммировать значения в столбце с единицами и ноликами после нее. Как только станет 0, это означает, что дошли до нужной строки.
Там даже не пробел, а непечатный символ после единицы. Будь там нормальные числа, было бы гораздо проще. Если от них нельзя избавиться, посмотрите как во вложенном файле. |
|
|
|
|
Подсчет непустых ячеек по условию
Суммировать значения из ячеек с текстом по ключевому слову
VBA - присвоение значений ячеек с другого листа
VBA - присвоение значений ячеек с другого листа
Не работает метод GoalSeek. Помогите найти причину.
|
19.02.2013 10:51:09
У вас опечатка в определении параметров функции GoalSeek.
Поменяйте ChangingCells на ChangingCell, и эта функция заработает. В процедуре "ПостроениеГрафика" нужно предусмотреть ситуацию, когда перед запуском программы диаграммы отсутствуют, т.е. поменять ActiveSheet.ChartObjects.Delete например, на If ActiveSheet.ChartObjects.Count > 0 Then ActiveSheet.ChartObjects.Delete. |
|
|
|
|
Использование оператора IF при выборе места в таблице в зависимости от текущего листа
оптимизация фазировки, подбор оптимальных подключений электроприемников в щите
|
15.02.2013 12:41:31
Другое дело - как обойтись без макросов. |
|||
|
|
|
После установки Excel2007 макрос безбожно тормозит
|
28.02.2011 14:29:12
KukLP, спасибо за совет, но это не помогло, наоборот все зависло наглухо.
Проблему я решил следующим образом: wsTarget.Paste заменил на: with wsTarget .Range(Cells(tmpFirstRow, COL_ARR_ID), Cells(tmpLastRow, COL_ARR_NOTE)).PasteSpecial Paste:=xlPasteFormats .Range(Cells(tmpFirstRow, COL_ARR_ID), Cells(tmpLastRow, COL_ARR_NOTE)).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats End With Т.е.получается, что в исходных файлах зашита какая-то дрянь, которая очень долго копируется, может какие-нибудь validation rules, но факт остается фактом - теперь макрос стал выполняться за 10 секунд (вместо часа), из-за одного лишь указанного изменения. Надеюсь, кому-нибудь тоже пригодится |
|
|
|
|
После установки Excel2007 макрос безбожно тормозит
После установки Excel2007 макрос безбожно тормозит
|
28.02.2011 10:18:18
Прошу прощения, что впопыхах всех ввел в заблуждение вот этой репликой:
{quote}{login=Drakula76}Если лист не выделять селектом, то метод Find не работает ("_worksheet.range failed").{/post}{/quote} На самом деле имелся в виду, конечно же, Activate, а никакой не селект. Не знаю как это обойти, но у меня если лист в процессе выполнения кода не является активным, то попытка применить Find выдает ошибку. Большое спасибо The_Prist за совет проверить код на предмет выделения всего строки или столбца, я это устранил где только можно, вроде бы стало работать быстрее, но не очень. Пройдя код в пошаговом режиме, я выяснил, что все тормоза действительно сосредоточены в одной-единственной операции копирования-вставки, которая у меня унаследовалась от макрорекордера. Как ее ускорить, я пока не представляю. wsSource.Activate rngTmp.Copy wsTarget.Activate wsTarget.Cells(tmpFirstRow, COL_ARR_ID).Select wsTarget.Paste Application.CutCopyMode = False Пояснение: rngTmp - диапазон данных, определенный ранее. Копирование необходимо полное, включая форматы, объединенные ячейки и тп. Копированием одних лишь значений отделаться нельзя. Поскольку в 2003 никаких тормозов это не вызывало, я особо и не задумывался, как в данном случае обойтись без Select. Если кто подскажет, буду очень благодарен. |
|
|
|
|
После установки Excel2007 макрос безбожно тормозит
|
25.02.2011 11:25:54
Если в коде есть какие-то проблемы, то почему в 2003 тот же самый макрос на том же самом компе выполнялся за секунды, а сейчас за десятки минут?
Если уж действительно теперь применение Select так критично, то чем его заменить? Если лист не выделять селектом, то метод Find не работает ("_worksheet.range failed"). |
|
|
|
|
После установки Excel2007 макрос безбожно тормозит
|
25.02.2011 10:37:03
Уважаемые, буду очень признателен за мнения.
В Excel2003 я сделал макрос, который из 50 разных файлов однотипную информацию и склеивает ее в один массив данных. Время его выполнения было в пределах одной минуты (с помощью отключения ScreenUpdating и ручного пересчета формул). После установки Excel2007 макрос стал работать в 10 раз медленнее. К тексту макроса я не притрагивался. Можно ли это вылечить? |
|
|
|
|
