УРОК 5. Макрорекодер = Помощник / Автоматическая запись макросов / Как работать с макросами в Excel?

  Рет қаралды 92,730

Академия Excel Дмитрия Якушева

Академия Excel Дмитрия Якушева

8 жыл бұрын

78 уроков по макросам теперь доступны по подписке
akademia-excel.ru/macrosi
========================================================================
Многие начинающие "макрописцы" допускают одну и ту же ошибку. На курсах обучения Excel часто рассказывая про макросы показывают самый простой способ записи макроса - с помощью макрорекодера и все начинают воспринимать его как основной (некоторые вообще считаеют его единственным вариантом создания макросов).
На видео Вы узнаете какие есть преимущества и недостатки этого способа написания кода. Ну и конечно мы напишем макрос!
0:18 - Вспоминаем про способы написания
1:00 - Преимущества и недостатки автоматической записи
2:12 - Что будет делать наш макрос
2:53 - Готовим таблицу
3:17 - Оцениваем количество действий
4:16 - Запись 1: Ввод текста в ячейку
5:01 - Проверяем результат
6:06 - Разбираем код макроса
7:46 - Запись 2: меняем цвет и размер шрифта
8:38 - Разбираем код макроса 2
11:11 - Проверяем макросы 1 и 2 в действии
11:59 - Делаем из двух макросов один
12:52 - Не забываем про комментирование кода
14:13 - Домашнее задание
В следующих уроках мы никогда не будем использовать макрорекодер как основное средство, только как помощника-подсказчика (не знаешь какую-то команду - запиши макрорекодером и модернизируй под свою задачу).
↓↓↓ Ещё больше полезной информации и помощи ↓↓↓
Сайт: akademia-excel.ru/
Группа ВК: akademia_excel
Страница FB: / yakushman

Пікірлер: 43
@user-ji9tk1bz9k
@user-ji9tk1bz9k 4 жыл бұрын
Спасибо за уроки мой ответ полная таблица: Sub Таблица() 'Ввод значения в ячейки Range("A1").Select ActiveCell.FormulaR1C1 = "Отчет по обучению" Range("B2").Select ActiveCell.FormulaR1C1 = "Академия Excell" Range("A2").Select ActiveCell.FormulaR1C1 = "Компания" Range("A4").Select ActiveCell.FormulaR1C1 = "Месяц" Range("B4").Select ActiveCell.FormulaR1C1 = "Количество продаж" Range("A5").Select ActiveCell.FormulaR1C1 = "Январь" Range("A6").Select ActiveCell.FormulaR1C1 = "Февраль" Range("A17").Select ActiveCell.FormulaR1C1 = "Итого:" Range("B5").Select ActiveCell.FormulaR1C1 = "85" Range("B6").Select ActiveCell.FormulaR1C1 = "38" Range("B7").Select ActiveCell.FormulaR1C1 = "61" Range("B8").Select ActiveCell.FormulaR1C1 = "49" Range("B9").Select ActiveCell.FormulaR1C1 = "82" Range("B10").Select ActiveCell.FormulaR1C1 = "89" Range("B11").Select ActiveCell.FormulaR1C1 = "93" Range("B12").Select ActiveCell.FormulaR1C1 = "35" Range("B13").Select ActiveCell.FormulaR1C1 = "50" Range("B14").Select ActiveCell.FormulaR1C1 = "66" Range("B15").Select ActiveCell.FormulaR1C1 = "90" Range("B16").Select ActiveCell.FormulaR1C1 = "64" 'Автозаполнение Range("A5:A6").Select Selection.AutoFill Destination:=Range("A5:A16"), Type:=xlFillDefault 'Автосумма Range("B17").Select ActiveCell.FormulaR1C1 = "=SUM(R[-12]C:R[-1]C)" 'Ширина столбцов Columns("A:A").ColumnWidth = 12.89 Columns("B:B").EntireColumn.AutoFit 'Форматирование A1 Range("A1").Select With Selection.Font .Size = 18 'размер шрифта .Color = -16776961 'цвет .Bold = True 'полужирный End With 'Форматы по центру Range("B2,B4,A4:A16").Select With Selection .HorizontalAlignment = xlCenter End With 'Итого по правому краю Range("A17").Select With Selection .HorizontalAlignment = xlRight End With 'Серый цвет и полужирный A4:B4,A17:B17 Range("A4:B4,A17:B17").Select With Selection.Interior .TintAndShade = -0.249977111117893 End With Selection.Font.Bold = True 'Заливка и полужирный B2 Range("B2").Select With Selection.Interior .ThemeColor = xlThemeColorLight1 End With With Selection.Font .ThemeColor = xlThemeColorDark1 .Bold = True End With 'Двойная линия Range("A16:B16,A4:B4").Select With Selection.Borders(xlEdgeBottom) .LineStyle = xlDouble End With 'Отступ цифр Range("B5:B17").Select With Selection .HorizontalAlignment = xlRight End With Selection.InsertIndent 1 'Серый цвет A4:B4,A17:B17 Range("A4:B4,A17:B17").Select With Selection.Interior .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.349986266670736 End With End Sub Похвалите меня :)))
@ya.l.k.v.m.o.m
@ya.l.k.v.m.o.m 2 жыл бұрын
Мегахороош ;)))
@user-kl5kr3rt9q
@user-kl5kr3rt9q 2 жыл бұрын
а ты хорош
@simons3402
@simons3402 Жыл бұрын
а если цифры в отчете другие то че все перепечатывать :) ?
@user-xp1bh1et3r
@user-xp1bh1et3r 6 жыл бұрын
Наконец нашел толкового спеца по макросам а именно очень правильно объяснил что за чем должно идти! Спасибо за информацию! А то половина авторов глатают им понятные действия и не чего мне 0 не ясно. А ты вообще 1 кто рассказал как объединять 2 макроса, и как удалить лишнее Я подозревал что Автоматически Макрос пишет много хлама, и ты мне открыл глаза! Ваще ты молодец, спасибо!
@user-xb1ks6cr1z
@user-xb1ks6cr1z 2 жыл бұрын
Вы Учитель. Через макросы вы просвещаете людей. "Наша задача не ругать автоматическую запись, а научиться ею пользоваться". Это философия. Бесконечное множество лайков от меня. Спасибо за ёмкие и лаконичные уроки.
@AkademiaExcel
@AkademiaExcel 2 жыл бұрын
Спасибооо!
@yuriilitvin3306
@yuriilitvin3306 6 жыл бұрын
Благодарю Вас за доступность изложения материала. Не писал до этого макросы вообще, но посмотрел пару Ваших видео и один семинар ( обучение у Вас не проходил) и смог написать макрос на 30 строк как в задании. Премного Вам благодарен!
@user-li7hi9em2o
@user-li7hi9em2o 2 жыл бұрын
Спасибо за ваш труд! Все круто и понятно 🌷
@ddyuk
@ddyuk 4 жыл бұрын
Спасибо большое за серию видео уроков. Очень полезные материалы и Вы отлично их преподносите!
@user-wg4tn4er7f
@user-wg4tn4er7f Жыл бұрын
Спасибо Вам огромное это просто фантастика. Как же мне облегчил жизнь этот урок. Вы замечательный преподаватель всё очень доступно и информативно.
@AkademiaExcel
@AkademiaExcel Жыл бұрын
Спасибо! Рад, что урок помог
@bahromjonmadaminov2800
@bahromjonmadaminov2800 4 жыл бұрын
Спасибо большое за информацию здоровья счастья
@user-yy9jc1tg6n
@user-yy9jc1tg6n 6 жыл бұрын
Sub Форматирование() 'Копирование листа "Образец" и поставить его после первого листа Sheets("Образец").Copy after:=Sheets(1) 'Ввод значения в ячейку B2 и форматирование Range("b2").Select 'Выбрать ячейку B2 Range("b2").Value = "Академия Excel" 'Ввод значения Selection.HorizontalAlignment = xlCenter 'Выравнивание по горизонту Selection.Interior.ColorIndex = 56 'Цвет заливки фона ячейки Selection.Font.ColorIndex = 2 'Цвет шрифта ячейки Selection.Font.Bold = True 'Начертание "полужирный" 'Форматирование ячейки A1 Range("A1").Select Selection.HorizontalAlignment = xlLeft Selection.Font.Size = 16 Selection.Font.ColorIndex = 3 Selection.Font.Bold = True 'Форматирование ячеек A4:B4 Range("A4:B4").Select Selection.HorizontalAlignment = xlCenter Selection.Font.Bold = True Selection.Font.Size = 12 Selection.Interior.ColorIndex = 15 Selection.Borders(xlEdgeBottom).LineStyle = xlDouble 'Граница внизу, стиль "Двойная линия" Selection.Borders(xlEdgeBottom).ColorIndex = 56 'Граница внизу, цвет = 56 'Форматирование ячеек A17:B17 Range("A17:B17").Select Selection.HorizontalAlignment = xlRight Selection.Font.Bold = True Selection.Font.Size = 12 Selection.Interior.ColorIndex = 15 Selection.Borders(xlEdgeTop).LineStyle = xlDouble Selection.Borders(xlEdgeTop).ColorIndex = 56 'Форматирование ячеек A5:A16 Range("A5:A16").Select Selection.HorizontalAlignment = xlCenter 'Расчет суммы Range("B17").Select ActiveCell.FormulaR1C1 = "=sum(R[-12]C:R[-1]C)" 'Выравнивание колонки по содержимому Columns("B:B").EntireColumn.AutoFit End Sub
@yaolegoleynik
@yaolegoleynik 5 жыл бұрын
Спасибо хорошие уроки
@Rnoviek-
@Rnoviek- 4 жыл бұрын
Спасибо большое за этоу серию роликов, очень помог ни одному человеку!) и даже не сотне, лайк подписка будет благодарностью
@user-xz5sf3st7l
@user-xz5sf3st7l 2 жыл бұрын
Очень все понятно !!!
@user-hm8cb6qs9c
@user-hm8cb6qs9c 7 жыл бұрын
Благодарю. Всё доступно. Вот только вместо "макрорекодер", правильно надо писать "макрорекордер", поскольку мы не кодируем (to code, coder), а записываем (to record, recorder) макрос.
@alexseis944
@alexseis944 7 жыл бұрын
спасибо!
@kukizubr
@kukizubr 2 жыл бұрын
Очень круто молодец спасибо!
@legioner36rus95
@legioner36rus95 2 жыл бұрын
Агромнае СПАСИБО ))) А если искренне, то всегда считал, что написать программу VBA требует титанических усилий и знаний английского языка, чего собственно у большинства пользователей нет ни того, ни другого )))). Спасибо, добра и удачи Вам!
@901foxy
@901foxy 7 жыл бұрын
ахренеть. круто
@kentau81
@kentau81 7 жыл бұрын
Спасибо Вам, все понятно объясняете. Может для выполнения домашнего задания будете выкладывать файл который был в видео.
@user-ok9mb8cz4l
@user-ok9mb8cz4l 6 жыл бұрын
Спасибо, хорошие видео. У меня 32 строки кода получилось, не считая первоначальных Sub и End
@user-sq9ub4ez1j
@user-sq9ub4ez1j 2 жыл бұрын
👍👍👍
@w.t.2905
@w.t.2905 5 жыл бұрын
Спасибо за ролики, очень интересно освежить память. Меня вот вопрос один беспокоит, по какому принципу формируется значение цвета в эксель? -16776961 - это красный. Можно было бы предположить, что это rgb(167,769... но rgb имеет всего 256 значений в одном цвете. На hex это тоже не тянет. Откуда в принципе такое число выбирается? Понимаю, что вопрос не совсем в вашей компетенции, но может знаете ответ?
@Moti234
@Moti234 7 жыл бұрын
лучше сразу учить обращаться к ячейке через Cells. поможет потом легче циклы понимать
@Moti234
@Moti234 7 жыл бұрын
для того, чтобы это использовать, нужно знать что это есть :) так то правильно, показывать нужно все =)
@antikarlikputinxuylo1908
@antikarlikputinxuylo1908 5 жыл бұрын
Пользуюсь исключительно автоматическим методом записи макросов. Единственное, что хотел бы пожелать создателям Экселя: при записи макроса, если ячейка выбрана мной с помощью мыши, то обозначать её именем, например "R12", а если я выбрал следующую ячеку с помощью перемещения курсора на клаве, то записывать эти действия как перемещение (вниз, вверх, вправо, вдево), а то приходится вручную потом вместо, напимер, Select "R12" переписывать: activecell(2).activate activecell(2).activate activecell(2).activate activecell(2).activate activecell(, 2).activate activecell(, 2) activecell(, 2).activate activecell(, 2).activate activecell(, 2).activate, чтобы этот макрос был универслен для любой позиции на листе))) Если я что-то не учёл - поправьте меня.
@lexx.v
@lexx.v 2 жыл бұрын
для этого используются "относительные ссылки"
@konstantinzhizhilkin2930
@konstantinzhizhilkin2930 7 жыл бұрын
а что за музыка в конце?
@user-xe1kr6pp6v
@user-xe1kr6pp6v 5 жыл бұрын
Все замечательно, а как можно проверить себя на правильность? у меня получилось 50 строк((((
@skyfirka8006
@skyfirka8006 Жыл бұрын
вдруг ответите, как можно взять переменную i (в самом коде) и в нее вставить то, что скопировано в буфер обмена
@user-qn5by5iv7u
@user-qn5by5iv7u 3 жыл бұрын
2021
@VladArnoldner
@VladArnoldner 6 жыл бұрын
Если структура таблицы не меняется- почему нельзя просто скопировать форматирование?
@VladArnoldner
@VladArnoldner 6 жыл бұрын
Академия Excel спасибо за видео уроки! Я уже 15 лет собирался разобраться с вба и макросами. И только вчера при помощи ваших видео начал соображать хоть что то. Реально хорошее дело делаете для пользователей экселя!
@okoloveoff1034
@okoloveoff1034 Ай бұрын
Добрый день. может ли эта программа воспроизводить цикл в определенной программе, если та свернута? т.е. я работаю на рабочем столе, а макрекодер выполняет цикл в свернутой программе не мешая моей мышке и клавиатуре?
@AkademiaExcel
@AkademiaExcel Ай бұрын
Макросы выполняются в Excel. Excel можно свернуть.
@user-it8li7is2p
@user-it8li7is2p 3 жыл бұрын
здравствуйте, где вам можно описать свой вопрос ? он большой . етсь у вас эмайл ?
@user-it8li7is2p
@user-it8li7is2p 3 жыл бұрын
@@AkademiaExcel спасибо, посмотрю группу
@yizhak_tro
@yizhak_tro 3 жыл бұрын
Имя шрифта не меняли, можно выбросить
@DeKan0404
@DeKan0404 4 жыл бұрын
А самое главное как саму кнопку вывести на экран не показано
@juliatas.2087
@juliatas.2087 4 жыл бұрын
Это по моему показано в самом первом видео, где мы разбирали 7 способов активации макроса
УРОК 6. Объектная модель / Как работать с макросами в Excel?
9:13
Академия Excel Дмитрия Якушева
Рет қаралды 60 М.
Каха ограбил банк
01:00
К-Media
Рет қаралды 11 МЛН
УРОК 4. Пишем код полностью с нуля / Как работать с макросами в Excel?
21:59
Академия Excel Дмитрия Якушева
Рет қаралды 261 М.
УРОК 1. Знакомство с макросами / Как работать с макросами в Excel?
7:47
Академия Excel Дмитрия Якушева
Рет қаралды 351 М.
Программирование макросов на VBA в Excel
12:58
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
Запись и вызов макроса
11:17
Excel Genie
Рет қаралды 136