"Чистка" кода макроса | Автоматизация в Excel - бесплатные уроки
Отзывы о мастер-классах и тренингах
Это как экранизация Уокенбаха, но со многими "примочками" и "фишками"

Уважаемый Дмитрий! Благодарю за Ваш тренинг. Он значительно помогает сократить время, чем обучение по книгам. Это как экранизация Уокенбаха, но со многими "примочками" и "фишками", постижение которых в книжном варианте было бы гораздо длиннее. Толково все объясняете-"разжевываете". Теперь макросы не пугают.

Присоединяюсь к комментариям Ольги - количество занятий в неделю, по-моему, лучше бы сократить.

Желаю успехов! Нужное дело!

Аскар о практическом тренинге
УРА! Справочник! :)

Добрый день, Дмитрий!

Спасибо, за проведенный онлайн мастер-класс "Видео-справочник по функциям VBA".

Как всегда, доступное изложение материала по принципу от простого к сложному с практическими примерами.

Ранее приобретала тренинги и мастер-классы в записи, поэтому с большинством функций уже была знакома. И всё же, считаю данный мастер класс полезным. Он позволил повторить изученное ранее, систематизировать информацию о функциях (УРА! Справочник!) и, конечно, узнать новое.

Кому будет интересен данный мастер-класс? Думаю, ВСЕМ, кто пытается автоматизировать свои рутинные задачи средствами VBA: новички найдут в нем не только подробное объяснение всех функций, но и увидят, в том числе, возможности применения условий, циклов, массивов; а более продвинутые пользователи получат неоценимый справочник по всем функциям с практическими примерами, что значительно сэкономит время на поиск информации в справочной системе при написании собственных программ.

Елена Гудым о мастер-классе
Теперь нужно все уложить "по полочкам" в своей голове

Вчера состоялся мастер-класс по автоматизации в Excel. Для меня это первый опыт участия в обучающем вебинаре.

Огромное спасибо Дмитрию за его добросовестную работу, терпение к новичкам, таким как я, которые задают множество вопросов, порой даже нелепых.

Мастер-класс оказался насыщенным, с большим объемом информации - во всяком случае, для меня. Мы разобрали не только запланированные примеры, но и рассмотрели еще возможные варианты решения поставленной задачи в рамках темы данного мастер-класса. Для себя определила, что занятия он-лайн содержательнее, чем то же занятие в записи: можно задать уточняющие вопросы и увидеть дополнительные решения.

Теперь нужно все уложить "по полочкам" в своей голове и я снова готова к новым занятиям, которые действительно не только полезные, но и увлекательные.

Спасибо, Дмитрий, за Ваш труд, умение простым языком донести непростой материал. Я пару раз открыла учебник VBA и закрыла с твердым убеждением, что это не для моего понимания (хотя за плечами два высших).

Больших успехов Вам! Жду новых тем и вебинаров!

Ольга Мельникова о мастер-классе
Ранее написанные мной простейшие программы теперь кажутся таким корявыми

Доброй ночи Дмитрий! Хочу поблагодарить Вас за такой красивый и ценный подарок. Просмотрел мастер-класс и был очередной раз поражен Вашей логикой мышления и талантом донести материал до слушателя. Я немного изучал программирование в Excel по книжной литературе – приходилось очень тяжело разобраться в понятиях и кодах (особенно если не знаешь английского языка). И ранее написанные мной простейшие программы (в несколько строк), после Ваших уроков, кажутся таким корявыми. А у Вас получаются, просто, произведения искусства. Поэтому Ваши уроки и материалы, для меня, имеют огромную ценность, т.к. приходится обрабатывать огромное количество данных по тепло-, водо- и электросчетчикам (а их – сотни). До знакомства с Вами я в основном пользовался функциями и формулами. Формулы иногда получались монстровидными и довольно медлительными. Надеюсь, что с Вашей помощью начну больше программировать. Людей с таким талантом преподавания как у Вас, особенно в наше время, очень мало (я бы сказал, наверно, исключительно мало). Поэтому хочется сказать большое человеческое спасибо за Ваш труд и поздравить Вас с тем, что Вы нашли достойное применение такому таланту. Всего доброго и успехов Вам в Вашем деле!

Юрий Юркин о мастер-классе
За месяц изучил материал, который рассчитан примерно на семестр ВУЗовского обучения

Прекрасно сформированная последовательность подачи материала и наличие всего необходимого объема информации в данном тренинге дали мне возможность за месяц изучить материал, который (в соответствии с изучаемым мной самоучителем) рассчитан примерно на семестр ВУЗовского обучения. Плюс интересные факты, дополнительные "Фишки" и вообще наличие быстрой и качественной обратной связи преподавателем как в онлайн режиме, так и вне занятия. Спасибо Дмитрий за проделанную Вами работу и за профессиональный подход к обучению.

Николай Трыкин о практическом тренинге

"Чистка" кода макроса

При автоматической записи макроса в программном коде фиксируются все действия пользователя, отчего код "разбухает" и становится запутанным и трудным для восприятия. Поэтому после записи макроса необходимо "чистить" код, удаляя ненужные команды и оптимизируя его структуру. В результате объем кода может сократиться в несколько раз, при этом он становится значительно легче для понимания и возможной последующей доработки.

В данном уроке показан пошаговый алгоритм "чистки" программного кода от "мусорных" строк. Кроме того, рассматривается конструкция With...End With - ее назначение и структура записи.


Для просмотра видео необходимо
зарегистрироваться на сайте
Если вы уже зарегистрированы на сайте -
обновите страницу по этой ссылке или кнопкой F5

Комментарии

Страница 3 из 4:   1  2  3  4  
#1694   Александр    24.12.2013 в 21:22:31

Урок очень замечательный! Просмотрел свои старые макросы и удивился, сколько там мусора! Будем наводить порядок. Спасибо Вам, Дмитрий, что ведете нас по этому лабиринту Excel.

#1717   Сергей    11.01.2014 в 18:09:15

чистый код, чистая душа!!! спасибо за урок полезно очень

#1722   Руслан    13.01.2014 в 02:29:57

Однако...

#1723   Александр    13.01.2014 в 11:06:50

Согласен со всеми, кто высказался по поводу урока. Очень полезно и познавательно одновременно!!! Спасибо!!! И со старым Новым Годом!!!

#1727   Олег    15.01.2014 в 13:39:40

Спасибо! Очень интересные и понятные уроки!

#1759   Вячеслав    24.01.2014 в 00:43:36

Очень круто!!!

#1777   Татьяна    31.01.2014 в 22:34:25

Спасибо, интересно.

#1824   Анжелика    20.02.2014 в 19:05:21

Спасибо, очень доступно объясняете

#1871   Татьяна    25.02.2014 в 22:25:51

Спасибо, очень интересно и доступно, но приходиться конспектировать.

#1886   Ирина    09.03.2014 в 22:33:35

Большое спасибо, доступно и полезно

#1895   Татьяна    14.03.2014 в 16:51:48

Я в восторге! Столько времени потратила на непонятную литературу. А сегодня наткнулась на Ваши уроки и за час просмотра всё стало ясно как божий день!!! Спасибо за то, что Вы делаете!

#1918   Петр    06.04.2014 в 16:50:10

Спасибо! Никогда не занимался, но стало получаться

#1930   Игорь    10.04.2014 в 23:43:44

Да, все понятно и прозрачно!

#1932   Сергей    11.04.2014 в 01:40:06

Спасибо.

Такого понятного не встречал. Жаль, что нигде не работаю, даже применить негде. Для себя конечно потренируюсь.

#2034   Екатерина    16.04.2014 в 21:03:35

Супер-урок!Буду писать и "чистить" Необходимы тренировки

#2108   Юлия    25.05.2014 в 23:02:12

Спасибо за емкие понятные уроки.

#2152   Леонид    07.07.2014 в 16:56:33

Понятно и полезно. Раньше я использовал макрорекордер, но оптимизацией ни разу не занимался. Не знал, как это делать. Теперь буду. Спасибо.

#2185   Надежда    21.07.2014 в 16:43:41

Спасибо большое за педагогический талант и время!

Очень полезный урок, до которого сам "дойдешь" только кровью и потом через какое-то время.

#2227   Ксения    27.07.2014 в 19:41:27

Дмитрий, а возможно ли сделать автозамену?

Например, вместо

".Select

ActiveCell."

поставить "." по всему макросу?

#2229   Дмитрий Быстров    28.07.2014 в 11:31:02

Доброе утро, Ксения.

Попробуйте Но мне кажется, у Вас это не получится из-за символа "перенос строки", которым отделяются слова Select и ActiveCell. Поэтому я это делаю вручную

#2353   виктор    22.09.2014 в 19:11:37

+

#2550   Татьяна    02.12.2014 в 15:03:26

Очень подробно и поэтому понятно. спасибо!!!

#2563   Аслибек    06.12.2014 в 18:33:47

очень интересно спасибо, важно макрос

#2684   Анастасия Мартыненко    20.02.2015 в 14:49:55

Спасибо, за доступное изложение материала.

#2689   Слава Фёдоров    21.02.2015 в 18:06:22

Спасибо, очень полезный урок,просто и понятно постараюсь применить на практике

#2690   Yana    22.02.2015 в 03:25:54

Супер, все быстро и понятно

#2809   Нартау    07.04.2015 в 11:22:01

Меня пугал именно такой длинный и не понятный код макроса, который я просматривал после записи. Теперь я понимаю, что не так страшен черт, как его малюют! ))) Спасибо за это Дмитрию!

#2845   Геннадий    23.05.2015 в 02:36:28

Превосходно! Подробно, понятно, всё разложено по полочкам. Спасибо!

#2953   Лика    04.08.2015 в 15:29:09

Спасибо! Как понятно, пытаюсь проделывать ваши уроки самостоятельно, получается!

#2959   Валерий    18.08.2015 в 09:47:21

Дмитрий!

Не могу понять почему перестает работать макрос после включения защиты листа? При попытке его запуска появляется окно с надписью:

Run-time error '1004'

Aplication-defined or object-defined error

#2960   Дмитрий Быстров    18.08.2015 в 12:32:13

Скорее всего, Ваш макрос пытается изменить содержимое защищенной ячейки. При включенной защите листа такие действия запрещены - как вручную, так и программно. Поставьте в начале макроса команду снятия защиты листа, а в конце - команду ее включения.

#2961   Валерий    18.08.2015 в 12:42:38

Конечно же я снимал защиту с тех ячеек, в которых происходили изменения, но это не помогло. Предложенное Вами решение проблемы мне в голову не приходило. Спасибо! Буду пробовать.

#2971   Анастасия    02.10.2015 в 15:55:44

Здорово! Да здравствуют чистые и лаконичные макросы! Так будет работать гораздо быстрее! и макросы гораздо легче прочитать.

#2982   валя    12.10.2015 в 01:30:24

Благодарю сердечно. Как будто вынул из ботинок водолазные стельки.

Успехов вам, Дмитрий! И нам также.

#3045   Федорова Марина    31.01.2016 в 22:35:06

Добрый вечер,Дмитрий! Спасибо Вам за эти уроки!

Это раз. А два - вопрос.

Сразу столкнулась с этой проблемой, отложила, а теперь уже деваться некуда, надо решать.

Запись макроса упростила до минимума: передвигаюсь на три ячейки по кругу и меняю заливку. Получаю:

ActiveCell.Offset(0, 3).Range("A1").Select и т.д.

ActiveCell.Offset(-2, 0).Range("A1").Select

С этим не знаю, что делать. Чтобы чистить надо понимать, что здесь написано... Этот Range("A1") везде, куда бы курсор ни ткнула..Не понимаю...

#3055   Дмитрий Быстров    18.02.2016 в 16:41:54

Добрый день, Марина.

Как-то пропустил Ваши комментарии

Касательно ActiveCell.Offset(0, 3).Range("A1").Select - согласен, синтаксис здесь немного запутанный, но разобраться можно.

ActiveCell - это просто активная ячейка (та, что выделена на текущем листе).

Offset(0, 3) - это смещение относительно этой активной ячейки. В данном случае - на 0 строк (т.е. строка остается та же самая) и на 3 ячейки правее.

Теоретически, результатом такого смещения может быть не одна ячейка, а сразу диапазон ячеек - в том случае, если смещение делается относительно выделенного диапазона, а не относительно отдельной ячейки, как у Вас.

Поэтому для того, чтобы показать, что после смещения нас интересует только одна ячейка, в код добавляется указание Range("A1") - оно гарантированно вернет только первую ячейку из смещенного диапазона. В Вашем случае это выражение смысла не имеет (т.к. у Вас и так получается одна ячейка), но и вреда не наносит.

Select в конце указывает, что полученную в результате этих манипуляций ячейку нужно выделить.

Резюме: вся эта длинная конструкция просто выделяет ячейку на 3 столбца правее той, что уже была выделена. Как-то так

#3048   Федорова Марина    07.02.2016 в 13:22:29

Дмитрий! Еще раз от души благодарю за Ваш труд!

И это даже хорошо, что Вы не ответили Пришлось разбираться самой! Оказывается,в Excel2010 много чего интересного... и есть существенные отличия от предыдущих версий... Но с Вашим "путеводителем в кармане" удалось многое преодолеть! С энтузиазмом двигаюсь дальше Спасибо Вам!

#3061   Ольга    28.02.2016 в 22:10:21

Как, и в предыдущих уроках, все понятно и доступно показано. Благодарю, Дмитрий, за ваш труд. Успехов вам.

#3065   Виктория    20.03.2016 в 21:54:19

Спасбо большое, уроки очень нравятся!

Все просто, понятно и доступно. Хочется продолжать смотреть курс и учиться этой сложной науке!

#3069   Олег    29.03.2016 в 15:51:18

Спс! Просмотрел старые макросы а там...,нужно наводить порядки!

#3094   Марина    29.04.2016 в 15:42:58

Спасибо, Дмитрий! Всё доступно и понятно. С учетом того, что ранее я с макросами не работала, Ваши видео уроки очень выручили.

#3169   Владимир    18.08.2016 в 20:56:32

Дмитрий, восхищаюсь Вами: умением мыслить, умением так ясно донести свою мысль, вашими увлечениями. Удачи Вам!

#3199   Евгений    04.10.2016 в 18:51:03

Отличные уроки! Спасибо большое автору!

#3224   Татьяна    09.03.2017 в 13:17:49

Дмитрий, спасибо за конструктивный и легкий урок. Ваши уроки просто уникальные.

Страница 3 из 4:   1  2  3  4  
Оставлять комментарии и просматривать видеоуроки
могут только зарегистрированные пользователи.
(если ранее Вы уже регистрировались, введите повторно
Ваше имя и тот e-mail, который был указан при регистрации)
Как к Вам обращаться:
Ваш адрес e-mail:
Нажимая на кнопку "Зарегистрироваться", я даю согласие на обработку персональных данных и соглашаюсь c политикой конфиденциальности
Ваши данные строго конфиденциальны, они нигде не публикуются и используются исключительно для информирования вас о новых материалах на сайте, мероприятиях и/или иных услугах данного проекта.
В любой момент времени вы можете отказаться от получения сообщений.
Последние комментарии
Ольга
11.11.2023 в 11:32:51

Полезно, наглядно, понятно, существенно расширила свои знания благодаря данным урокам - спасибо, Дмитрий)

Дмитрий Быстров
29.01.2023 в 12:26:41

Добрый день, Анатолий.

Подробнее о создании программы для тестирования было рассказано в специальном платном мастер-классе "Создание программы по тестированию". Приобрести его можно по этой ссылке.

Что касается счетчика времени - в мастер-классе такого функционала не было, но позднее я доработал созданную в нем программу и добавил в нее такой счетчик - при приобретении мастер-класса я вместе с ним предоставлю и доработанную версию программы.

Ulluauz
29.01.2023 в 11:03:16

Спасибо! Классно. Где можно списать Вашу программу для шаблона? Счетчик времени на тестирование как вставить?

Светлана
23.08.2022 в 13:10:20

Здравствуйте. Подскажите, а можно ли сделать Q-код в таблице, но чтоб там было видно наименование упаковки, вес, дата прихода, наименование контрагента и тд. И при каждом изменении данных, автоматически делался Q-код?

Людмила
17.04.2022 в 14:33:48

Добрый день, Дмитрий. Я случайно увидела ваши видео в ютубе. Посмотрела и мне стало интересно изучить макросы. Перешла по ссылке и просмотрела часть бесплатных видео и мне очень понравилась ваша манера преподавать просто без лишних слов. Скажите, пожалуйста, а как сделать выпадающий...

Станислав
16.08.2020 в 23:08:36

Здравствуйте В видео "Автоматизация заполнения бланка документа (платежного поручения)" говориться, что можно скачать файлы с макросами, о которых идет речь. Не могу найти. Подскажите, пожалуйста,где скачать Файл?

Юрий
21.07.2020 в 13:10:25

Благодарю Вас хотя у меня оффис 97 все полчается

Евгения
26.06.2020 в 01:10:51

здравствуйте, Дмитрий... подскажите пожалуйста такой момент, для того, чтобы сделать макрос с фамилиями, я сделала перечень с фамилиями и суммами.. так вот у меня слово фамилия при сортировке улетает в самый низ))) то есть оно тоже сортируется... что не так в моей таблице?

juna
08.05.2020 в 15:02:44

Спасибо большое.Очень полезная информация

Людмила
03.05.2020 в 19:11:12

Замечательные уроки, большое спасибо автору. Все очень доходчиво, без лишних заморочек.

▲ Наверх