"Чистка" кода макроса | Автоматизация в Excel - бесплатные уроки
Отзывы о мастер-классах и тренингах
Всем, кому лень делать рутинную работу, советую прослушать данный мастер-класс!

Хочу оставить свой отзыв о вчерашнем мастер-классе от Дмитрия Быстрова, который состоялся 30 июля 2013г.

Для меня это был первый вебинар в жизни. И, думаю, как и всё первое в жизни он запомнится мне навсегда!

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

В общем всем, кому лень делать рутинную работу, советую прослушать данный мастер-класс! Лично для меня эта тема была ОЧЕНЬ актуальна.

P.S. всем, кто осмелиться прослушать данный мастер-класс рекомендую просмотреть бесплатные уроки Дмитрия, очень поможет.

P.S.S. Дмитрий Вам спасибо за науку и терпение, которое Вы вчера проявили по отношению к нам! )))))

Дмитрий Чибрин о мастер-классе
Теперь нужно все уложить "по полочкам" в своей голове

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

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

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

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

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

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

Ольга Мельникова о мастер-классе
Я и раньше слышала о макросах, но информации не встречала

Большое спасибо за тренинг. Было интересно и самое главное доступно. Мне частенько приходится работать в Excel, правда не в таких глобальных масштабах. Но и этого хватает, чтобы хотеть хоть как-нибудь автоматизировать работу. Я и раньше слышала о макросах, но информации не встречала. Редко выхожу в интернет и рада, что так удачно зарегистрировалась на Вашем сайте.

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

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

Татьяна Ли о практическом тренинге
После просмотра бесплатных уроков и вебинаров со мной произошло чудо

Уважаемый Дмитрий!

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

Конечно, не всё с ходу было понятно и не всё запомнилось, но материал, изложенный в видеозаписи и в примерах, позволяет его многократно повторять и использовать. Уже есть планы для внедрения в жизнь полученных знаний.

С программированием как таковым я впервые столкнулся на 1-м курсе МВТУ им. Баумана в далеком 1978г (1 семестр, FORTRAN-4). Я старался понять и освоить новую науку, но писать даже элементарные программки так и не научился. К сожалению, я был не одинок. Из 150 студентов нашего потока, может быть, 5-6 человек могли использовать полученные знания в курсовых и дипломных работах. Для меня и остальных студентов так и осталось большим секретом, с какого бока надо подходить к ЭВМ (в то время СМ-4 и БЭСМ-6). Запомнилось ещё определённое высокомерие со стороны тех, кто умел программировать (преподаватели, студенты), по отношению к тем, кто в программировании ничего не понял. Даже приводили статистику, что только 10% людей способны быть программистами.

Вторую попытку освоить программирование, будучи инженером-разработчиком, я предпринял в 1987г, пойдя на 2-х месячные платные курсы. Неприятно удивило, что учили нас так же, как в студенческие времена. Результат тот же.

Время шло. Компьютеры стали доступны каждому. Мне понравился Excell. Самостоятельно его освоил (в том числе Windows Mobile 5.0). Стал его активно применять в торговле и в сфере управления персоналом. Когда научился писать логические мегаформулы (до 1024 знаков), понял, что их возможности ограничены и нужно снова учиться программированию, теперь уже на языке VBA. Понимая, что без преподавателя мне не обойтись, попытался найти какие-нибудь обучающие видео уроки в Интернете. Попал на Ваш, Дмитрий, сайт и после просмотра бесплатных уроков и вебинаров со мной произошло чудо. Всё, что Вы говорите на уроках мне понятно и самое смешное, я оказывается, многое помню из FORTRAN-4. Через некоторое время написал первые в своей жизни программы сначала с помощью макрорекордера, а затем используя переменные, условия и циклы. Эффект от написанных программ и появившийся практический опыт вдохновил на более глубокое изучение VBA на Вашем платном 3-х недельном тренинге.

Тренинг мне понравился. Старался выполнять домашние задания. К сожалению, на последнее задание времени не хватило (Семья, на работе конец-начало квартала, дача и т.п. - это никто не отменял.). Сказывалось отсутствие навыков и опыта.

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

Что в итоге можно сейчас сказать?

В Вашем лице, Дмитрий, нам просто повезло с преподавателем.

Все познаётся в сравнении, и теперь я думаю, что в былые времена нам просто не смогли доходчиво объяснить учебный материал по азам программирования и, образно говоря, учили плаванию в бассейне без воды.

А Вам Дмитрий, ещё раз огромное СПАСИБО за то, что помогли разбить в прах привитое мне неверие в собственные силы в области программирования.

Евгений Метасов о практическом тренинге
Это то, чего мне не хватало раньше. Это восхитительно!!!

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

Благодарю Вас, за возможность участвовать в Вашем тренинге: просмотреть записи видеозанятий, принять участие в практическом решении задач, увидеть Ваши замечания и комментарии к выполнению задач. Я просто восхищен Вашими занятиями, которые заставили меня посмотреть на 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 политикой конфиденциальности
Ваши данные строго конфиденциальны, они нигде не публикуются и используются исключительно для информирования вас о новых материалах на сайте, мероприятиях и/или иных услугах данного проекта.
В любой момент времени вы можете отказаться от получения сообщений.
Последние комментарии
Роза
10.01.2025 в 17:23:18

Лучшие уроки по содержанию и грамотности, доступности, простоты я не встречала. Спасибо вам. вы умница.

Ольга
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

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

▲ Наверх