УРОК 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

ความคิดเห็น • 44

  • @КостяТрубин-д5х
    @КостяТрубин-д5х 2 ปีที่แล้ว +1

    Вы Учитель.
    Через макросы вы просвещаете людей.
    "Наша задача не ругать автоматическую запись, а научиться ею пользоваться".
    Это философия.
    Бесконечное множество лайков от меня.
    Спасибо за ёмкие и лаконичные уроки.

  • @АлександрПротопопов-ж8ф
    @АлександрПротопопов-ж8ф 4 ปีที่แล้ว +21

    Спасибо за уроки мой ответ полная таблица:
    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 ปีที่แล้ว +1

      Мегахороош ;)))

    • @Эйс_Ментура
      @Эйс_Ментура 2 ปีที่แล้ว +1

      а ты хорош

    • @simons3402
      @simons3402 ปีที่แล้ว

      а если цифры в отчете другие то че все перепечатывать :) ?

  • @ИринаЛи-ц6г
    @ИринаЛи-ц6г ปีที่แล้ว +1

    Спасибо Вам огромное это просто фантастика. Как же мне облегчил жизнь этот урок. Вы замечательный преподаватель всё очень доступно и информативно.

    • @AkademiaExcel
      @AkademiaExcel  ปีที่แล้ว +1

      Спасибо! Рад, что урок помог

  • @Инженерпожизни-д2д
    @Инженерпожизни-д2д 7 ปีที่แล้ว +8

    Наконец нашел толкового спеца по макросам а именно очень правильно объяснил что за чем должно идти! Спасибо за информацию! А то половина авторов глатают им понятные действия и не чего мне 0 не ясно. А ты вообще 1 кто рассказал как объединять 2 макроса, и как удалить лишнее Я подозревал что Автоматически Макрос пишет много хлама, и ты мне открыл глаза! Ваще ты молодец, спасибо!

  • @alinaliebknecht6094
    @alinaliebknecht6094 17 วันที่ผ่านมา

    Спасибо! Уложилась в 32 строки, включая sub и end sub, похоже, это успех)

  • @yuriilitvin3306
    @yuriilitvin3306 6 ปีที่แล้ว +13

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

  • @ddyuk
    @ddyuk 4 ปีที่แล้ว +2

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

  • @МедведьБелый-ц2ш
    @МедведьБелый-ц2ш 7 ปีที่แล้ว +15

    Благодарю. Всё доступно. Вот только вместо "макрорекодер", правильно надо писать "макрорекордер", поскольку мы не кодируем (to code, coder), а записываем (to record, recorder) макрос.

  • @ИлонаИнч
    @ИлонаИнч 2 ปีที่แล้ว +2

    Спасибо за ваш труд! Все круто и понятно 🌷

  • @ПшквЪ
    @ПшквЪ 6 ปีที่แล้ว +5

    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

  • @bahromjonmadaminov2800
    @bahromjonmadaminov2800 4 ปีที่แล้ว +2

    Спасибо большое за информацию здоровья счастья

  • @Rnoviek-
    @Rnoviek- 4 ปีที่แล้ว +1

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

  • @legioner36rus95
    @legioner36rus95 2 ปีที่แล้ว

    Агромнае СПАСИБО ))) А если искренне, то всегда считал, что написать программу VBA требует титанических усилий и знаний английского языка, чего собственно у большинства пользователей нет ни того, ни другого )))). Спасибо, добра и удачи Вам!

  • @АлексейСмирнов-е2в
    @АлексейСмирнов-е2в 2 ปีที่แล้ว +2

    Очень все понятно !!!

  • @kentau81
    @kentau81 7 ปีที่แล้ว +8

    Спасибо Вам, все понятно объясняете. Может для выполнения домашнего задания будете выкладывать файл который был в видео.

  • @kukizubr
    @kukizubr 2 ปีที่แล้ว +1

    Очень круто молодец спасибо!

  • @yaolegoleynik
    @yaolegoleynik 5 ปีที่แล้ว +1

    Спасибо хорошие уроки

  • @alexseis944
    @alexseis944 7 ปีที่แล้ว +6

    спасибо!

  • @Ярослав-в2у7и
    @Ярослав-в2у7и 6 ปีที่แล้ว +1

    Спасибо, хорошие видео. У меня 32 строки кода получилось, не считая первоначальных Sub и End

  • @901foxy
    @901foxy 7 ปีที่แล้ว +4

    ахренеть. круто

  • @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 3 ปีที่แล้ว +1

      для этого используются "относительные ссылки"

  • @w.t.2905
    @w.t.2905 5 ปีที่แล้ว +1

    Спасибо за ролики, очень интересно освежить память. Меня вот вопрос один беспокоит, по какому принципу формируется значение цвета в эксель? -16776961 - это красный. Можно было бы предположить, что это rgb(167,769... но rgb имеет всего 256 значений в одном цвете. На hex это тоже не тянет. Откуда в принципе такое число выбирается? Понимаю, что вопрос не совсем в вашей компетенции, но может знаете ответ?

  • @Ulahsaclay
    @Ulahsaclay 8 ปีที่แล้ว

    лучше сразу учить обращаться к ячейке через Cells. поможет потом легче циклы понимать

    • @Ulahsaclay
      @Ulahsaclay 8 ปีที่แล้ว +1

      для того, чтобы это использовать, нужно знать что это есть :) так то правильно, показывать нужно все =)

  • @ДёнисИнкогнито-г4ф
    @ДёнисИнкогнито-г4ф 2 ปีที่แล้ว

    👍👍👍

  • @МаксимВладимирович-з3ч
    @МаксимВладимирович-з3ч 3 ปีที่แล้ว +1

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

  • @skyfirka8006
    @skyfirka8006 ปีที่แล้ว

    вдруг ответите, как можно взять переменную i (в самом коде) и в нее вставить то, что скопировано в буфер обмена

  • @okoloveoff1034
    @okoloveoff1034 3 หลายเดือนก่อน

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

    • @AkademiaExcel
      @AkademiaExcel  3 หลายเดือนก่อน

      Макросы выполняются в Excel. Excel можно свернуть.

  • @VladArnoldner
    @VladArnoldner 6 ปีที่แล้ว +1

    Если структура таблицы не меняется- почему нельзя просто скопировать форматирование?

    • @VladArnoldner
      @VladArnoldner 6 ปีที่แล้ว +1

      Академия Excel спасибо за видео уроки! Я уже 15 лет собирался разобраться с вба и макросами. И только вчера при помощи ваших видео начал соображать хоть что то. Реально хорошее дело делаете для пользователей экселя!

  • @konstantinzhizhilkin2930
    @konstantinzhizhilkin2930 7 ปีที่แล้ว +1

    а что за музыка в конце?

  • @аннак-р6о
    @аннак-р6о 5 ปีที่แล้ว

    Все замечательно, а как можно проверить себя на правильность? у меня получилось 50 строк((((

  • @DeKan0404
    @DeKan0404 4 ปีที่แล้ว +1

    А самое главное как саму кнопку вывести на экран не показано

    • @juliatas.2087
      @juliatas.2087 4 ปีที่แล้ว +1

      Это по моему показано в самом первом видео, где мы разбирали 7 способов активации макроса

  • @АлексейСоков-ь8и
    @АлексейСоков-ь8и 3 ปีที่แล้ว

    2021

  • @yizhak_tro
    @yizhak_tro 3 ปีที่แล้ว

    Имя шрифта не меняли, можно выбросить