Точно! Припоминаю, что читал об этом у Уокенбаха. Но очень давно, потому и выветрилось из памяти.
Спасибо, Дмитрий, за науку!
Спасибо, Дмитрий, за науку!
30.01.2025 12:57:12
И всё равно не понимаю, почему у Alexander.V, не работает Intersect(Range1, Range2, Range3, Range4) ?
Это всегда работало. |
|
|
30.01.2025 12:48:50
А здесь других диапазонов Target нет, поэтому если Target не попал в диапазон, то сразу Exit Sub |
|||
|
30.01.2025 10:06:45
Изменено:
|
|||||
|
02.11.2024 08:02:47
|
|||||
|
01.11.2024 21:33:32
Когда-то, лет 20, назад, писал несколько подобных процедур для корректировки ручного ввода значений в базу данных (ленивым операторам часто лень переключать раскладку и они считают, что если буквы выглядят одинаково, то и нет смысла в лишних "кнопкотычествах")..
Остановился на этих:
P.S.Процедуры отличаются способом обработки - стринг или массив. Специально сохранил в "копилке" их обе для примера и сравнения скорости работы.
Изменено:
|
|||
|
11.04.2024 11:40:25
Володя, добрый день.
Есть ещё один артефакт, увеличивающий размер файла: при скрытии строк или столбцов, в которых были рисованные объекты, имеющие по умолчанию свойство "Перемещать и изменять размер вместе с ячейками", их размер по высоте или ширине становится равным 0. Объекты схлопываются в одномерные вертикальные или горизонтальные линии, невидимые на экране. А если сначала скрыть столбцы, а потом строки, то объекты становятся вообще 0-мерными (т.е. математическими точками). Такие объекты хоть и невидимы, но вес файлу прибавляют точно так же как "нормальные". Для того, чтобы находить и выделять на листе такие объекты, я написал такую процедуру:
Изменено:
|
|||
|
10.04.2024 09:03:59
Во-вторых, несмотря на то, что код чаще всего работает с большим количеством диапазонов, определяемых директивой
В-третьих, вставка сразу всех процедур-ускорителей одной строкой типа
Более того, за всё своё, наверное 30-летнее активное использование Excel я ещё не встречал пользователей, у которых был осознанно включен ручной пересчёт формул. Но при желании никто не мешает Вам убрать соответствующие директивы из кода. Самое же главное, "изюминка", в коде - восстановление работы формата циклом не по ячейкам, а по циклом диапазонам способом
Это намного быстрее. Идея точно не моя. Обсуждалось здесь на Планете очень давно. Сейчас где-то в архове. Предложил, кажется, Слэн или Hugo , но не уверен.
Изменено:
|
|||||||||||
|
09.04.2024 15:55:46
MadNike, Jack Famous, ребята, Вы серьёзно считаете, что предлагаемые Вами всем давно известные "телодвижения" сделать проще, чем выделить нужный "искалеченный" при экспорте диапазон и нажать одну кнопку вызова макроса?
![]() Или Вы просто прикалываетесь, а я туплю и юмора не понимаю? |
|
|
08.04.2024 09:23:40
melnik542, проблема необновления данных после форматирования ячеек тянется ещё, наверное, с Excel-97.
Очень часто это получается при экспорте из внешних баз данных - числа экспортируются как текст, а изменение формата ячеек не приводит к результату. Приходится входить в каждую ячейку или юзать макросы. Вот, например, такой:
|
|||
|
05.04.2024 09:34:44
Не стал разбираться в чужом коде (слишком много строк), но у меня в копилке лежит пара приёмчиков, которые можно попытаться заюзать:
Изменено:
|
|||
|
04.04.2024 08:18:15
ZVI, спасибо.
После перезагрузки компа всё заработало: стала показываться вкладка "Надстройки", а на ней - кнопки для управления надстройкой. Теперь ничего "ковырять" не нужно, да и не очень-то я люблю чужой код разбирать, честно говоря. Правда инсталляция файлом instal.exe почему-то не прошла. Но такой мелочью нас не напугаешь: руками закинул файл надстройки в Addons , подцепил её на вкладке Разработчик/Надстройки и всё заработало. |
|
|
03.04.2024 14:56:08
ZVI, спасибо.
Очень интересно. Классное выделение! Ни выделения нескольких областей, ни простого, ни условного форматирования … Форматы ячеек сохраняются! Супер! Но когда попробовал надстройку, понял, что юзать её на 2013 и выше не удаётся, т.к. кнопки включения/отключения на панелях не создаются... Хотел попробовать расковырять, а проект запаролен ![]() |
|
|
02.04.2024 13:58:41
Вообще-то тема перекрёстного (координатного) выделения проработана в разных вариантах уже давно и подробно рассмотрена в конце 2012 года здесь, на Планете, Николаем Павловым в статье
|
|
|
02.04.2024 13:51:05
Само копирование - это не событие приложения Excel, которое может быть программно обработано.
Можно, конечно, как советовали выше, слепить макрос, который будет реагировать на ввод с клавиатуры хоткея Ctrl+C, но это "костыль", т.к. копирование может быть выполнено и по ПКМ, например, или просто нажатием на кнопку "Копировать" на ленте. |
|
|
01.04.2024 09:29:02
Огромная потеря для близких. Соболезную.
Но также большая потеря для заочных друзей Сержа по форумам - как знатоков, так и начинающих. Очень хорошо, что я в своей личной копилке макросов всегда в комментариях записываю автора и откуда утащил. А Серёгиных решений там немало. Будет мне о нём добрая память. |
|
|
01.04.2024 07:43:59
БМВ прав. При желании распознать текст - не проблема.
И сохранение "как картинка" - защита только от "честных людей". Поэтому проще, действительно, печатать на PDF-принтер, а потом, если есть желание ограничить права пользователя, то можно открыть его и установить защиту.
Изменено:
|
|
|
07.11.2022 07:48:55
У меня давно уже в Personal лежит макрос для поиска уникальных значений в выделенном диапазоне.
Попробуйте:
|
|||
|
01.07.2022 14:53:39
Сейчас практически не программирую. Но несколько лет назад всё равно почему-то предпочитал в своих разработках применять циклы For Each - Next. Наверное, интуитивно ![]() |
|||
|