УРОК 5. Макрорекодер = Помощник / Автоматическая запись макросов / Как работать с макросами в Excel?
ฝัง
- เผยแพร่เมื่อ 24 ก.ย. 2024
- 78 уроков по макросам теперь доступны по подписке
akademia-excel...
========================================================================
Многие начинающие "макрописцы" допускают одну и ту же ошибку. На курсах обучения 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...
Страница FB: / yakushman
Вы Учитель.
Через макросы вы просвещаете людей.
"Наша задача не ругать автоматическую запись, а научиться ею пользоваться".
Это философия.
Бесконечное множество лайков от меня.
Спасибо за ёмкие и лаконичные уроки.
Спасибооо!
Спасибо за уроки мой ответ полная таблица:
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
Похвалите меня :)))
Мегахороош ;)))
а ты хорош
а если цифры в отчете другие то че все перепечатывать :) ?
Спасибо Вам огромное это просто фантастика. Как же мне облегчил жизнь этот урок. Вы замечательный преподаватель всё очень доступно и информативно.
Спасибо! Рад, что урок помог
Наконец нашел толкового спеца по макросам а именно очень правильно объяснил что за чем должно идти! Спасибо за информацию! А то половина авторов глатают им понятные действия и не чего мне 0 не ясно. А ты вообще 1 кто рассказал как объединять 2 макроса, и как удалить лишнее Я подозревал что Автоматически Макрос пишет много хлама, и ты мне открыл глаза! Ваще ты молодец, спасибо!
Спасибо! Уложилась в 32 строки, включая sub и end sub, похоже, это успех)
Благодарю Вас за доступность изложения материала. Не писал до этого макросы вообще, но посмотрел пару Ваших видео и один семинар ( обучение у Вас не проходил) и смог написать макрос на 30 строк как в задании. Премного Вам благодарен!
Спасибо большое за серию видео уроков. Очень полезные материалы и Вы отлично их преподносите!
Благодарю. Всё доступно. Вот только вместо "макрорекодер", правильно надо писать "макрорекордер", поскольку мы не кодируем (to code, coder), а записываем (to record, recorder) макрос.
Спасибо за ваш труд! Все круто и понятно 🌷
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
Спасибо большое за информацию здоровья счастья
Спасибо большое за этоу серию роликов, очень помог ни одному человеку!) и даже не сотне, лайк подписка будет благодарностью
Агромнае СПАСИБО ))) А если искренне, то всегда считал, что написать программу VBA требует титанических усилий и знаний английского языка, чего собственно у большинства пользователей нет ни того, ни другого )))). Спасибо, добра и удачи Вам!
Очень все понятно !!!
Спасибо Вам, все понятно объясняете. Может для выполнения домашнего задания будете выкладывать файл который был в видео.
Очень круто молодец спасибо!
Спасибо хорошие уроки
спасибо!
Спасибо, хорошие видео. У меня 32 строки кода получилось, не считая первоначальных Sub и End
ахренеть. круто
Пользуюсь исключительно автоматическим методом записи макросов. Единственное, что хотел бы пожелать создателям Экселя: при записи макроса, если ячейка выбрана мной с помощью мыши, то обозначать её именем, например "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, чтобы этот макрос был универслен для любой позиции на листе))) Если я что-то не учёл - поправьте меня.
для этого используются "относительные ссылки"
Спасибо за ролики, очень интересно освежить память. Меня вот вопрос один беспокоит, по какому принципу формируется значение цвета в эксель? -16776961 - это красный. Можно было бы предположить, что это rgb(167,769... но rgb имеет всего 256 значений в одном цвете. На hex это тоже не тянет. Откуда в принципе такое число выбирается? Понимаю, что вопрос не совсем в вашей компетенции, но может знаете ответ?
лучше сразу учить обращаться к ячейке через Cells. поможет потом легче циклы понимать
для того, чтобы это использовать, нужно знать что это есть :) так то правильно, показывать нужно все =)
👍👍👍
здравствуйте, где вам можно описать свой вопрос ? он большой . етсь у вас эмайл ?
@@AkademiaExcel спасибо, посмотрю группу
вдруг ответите, как можно взять переменную i (в самом коде) и в нее вставить то, что скопировано в буфер обмена
Добрый день. может ли эта программа воспроизводить цикл в определенной программе, если та свернута? т.е. я работаю на рабочем столе, а макрекодер выполняет цикл в свернутой программе не мешая моей мышке и клавиатуре?
Макросы выполняются в Excel. Excel можно свернуть.
Если структура таблицы не меняется- почему нельзя просто скопировать форматирование?
Академия Excel спасибо за видео уроки! Я уже 15 лет собирался разобраться с вба и макросами. И только вчера при помощи ваших видео начал соображать хоть что то. Реально хорошее дело делаете для пользователей экселя!
а что за музыка в конце?
Все замечательно, а как можно проверить себя на правильность? у меня получилось 50 строк((((
А самое главное как саму кнопку вывести на экран не показано
Это по моему показано в самом первом видео, где мы разбирали 7 способов активации макроса
2021
Имя шрифта не меняли, можно выбросить