Программирование макросов на VBA в Excel
Вставка
- Опубліковано 29 вер 2024
- Что такое макросы, как их создавать и использовать. Для "простых смертных" пользователей, НЕ-программистов. Более подробно тут planetaexcel.ru...
Заходите в гости ↓↓↓
Twitter / planeta_excel
Facebook / planetaexcel
Instagram / planetaexcel
Мои книги planetaexcel.ru...
Моя надстройка PLEX (+150 новых функций для вашего Excel) planetaexcel.ru...
Парень грамотный и толковый! Все очень понятно! СПАСИБО ТЕБЕ БОЛЬШОЕ!
угу, токмо ентно не "парень" (грамотный/толковый) это ведущий русскоязычный бизнес-тренер по направлению Excel! (так, к сведенью...)
instablaster...
Николай! С учётом моего трепетного отношения к табличной программке позвольте выразить Вам глубочайших симпатий и просьб "выкладываться" в русле ликбезов по пользовательским вопросам в Excel. Прежде я думала, что умею.. Оказалось, мне ещё учится и учиться! Что делать у Вас очень приятно: просто, внятно, доходчиво. Спасибо, и не оставляйте поклонников "табличек" и Вас лично без Вашего внимания!
Спасибо! Отличное видео, все четко и понятно.
И это говорит человек с суперменом на аватарке? Где вы видите тут понты? Редактор Visual Basic и сам язык программирования не локализуются Microsoft'ом на русский уже лет 15. Хотите программировать - учите английский (хотя бы технический).
Уважаемый автор помогите пожалуйста разобраться с одной проблемой
Es por eso que cuando ves un buen video que fue filmado y comentado de manera muy competente, ¿todavía hay algunos ciervos tontos que pusieron debajo del video "no les gustó"?
Спасибо за видео
За видео, спасибо!
Когда знаешь - все просто!
Спасибо за видео))
Николай, какую бы вы книгу посоветовали бы для освоения макросов (языка написания макроса)
+Konstantin S Джон Уокенбах "Программирование на VBA в Excel"
@@planetaexcel а для опен офис?
Николай, почему вы в своих примерах макросов не используете отступы для визуального структурирования кода?
Благодарю!
здравствуйте у меня один вопрос. можно ли создать макрос для печати данных с одного листа. например у меня лист Краснодарский край а там отдельно ведомости для пенсионеров городов или сел края. и каждый раз я делаю принт селектион для каждой ведомости. есть ли способ полегче? это очень утомительно. заранее спасибо
Николай, здравствуйте! Обязательно ли НДС писать английскими буквами или можно русскими?
Это название функции - как ее назовете в коде VBA, так и нужно писать в ячейку листа.
Николай, я бы хотел заказать такой макрос:
В столбце Excel написаны Фамилия, Имя, Отчество человека.
Мне нужно, чтобы первое слово (подразумевается, что это будет фамилия) переместилось в столбец слева.
Чтобы в итоге у меня была фамилия в одном столбце, а имя и отчество - в другом.
Данные-Текст по столбцам-Разделитель: пробел
Подписался
Скажите пожалуйста а на макбуке можно так программировать?
Здравствуйте, Наталья! Конечно можно. Единственное - возможно, Вам придется иногда смотреть самой, например, другие комбинации клавиш для ускорения работы. Но поскольку это не критично и в целом не обязательно, это абсолютно не является проблемой.
здравствуйте, как можно сделать такой макрос, чтобы каждый раз при нажатии сочетания клавиш, данные вносились всегда на одну строчку ниже.
Вторую неделю мучаюсь=((((
ActiveCell.Offset(1, 0).Select
Активирует ячейку в том же столбце, но на строчку ниже. А потом
ActiveCell.FormulaR1C1 = ...
или
ActiveCell.Value = ...
и что там должно появиться. Все просто )))
2016 офис
не работает =(выдает ошибку на Cell =(
переименовать Cells тоже не работает
Вот почему когда видишь хорошее видео, которое снято и прокоментировано очень грамотно, все равно находится несколько тупых оленей которые ставят под видео "не понравилось"?
+Же нек Да бросьте :) Если бы все только лайкали - я бы напрягся, что что-то не то делаю :)
Я лайк поставил) урок по XL показался полезным. Но НДС Вы считать не умеете. По вашей формуле у людей расплодится много неправильных расчетов. Верный расчет выглядит так: сумма/118*18=НДС. А по вашей формуле высчитывают подоходный налог или налог на прибыль. Уточните у бухгалтера, он вам это объяснит. Было время когда я тоже как Вы НДС считал).
Наверное потому что, то что описано 1. иногда рассказывает долго и нудно 2.не работает!! И это очень частая ошибка. Даже я сейчас сделал всё как показано и в моих файлах ексель не воспроизводится работа макроса. А делать видео только для определённой версии ПО которая стоит только у одного человека не имеет смысла.
@@ОООННН Не совсем правильно. В примере Николая изначально сумма без НДС. Поэтому НДС рассчитана правильно. В вашем же примере, я так понял что сумма уже с НДС, поэтому ваша формула как раз для такого случая. Ну для тех кто сейчас читает, НДС уже 20%, поэтому формулу можно переделать: (сумма/120)*20=сумма/6) или сумма *1,16(6)
@@Locomotiv23530 так можно сказать, если пытаться его оправдать). Но в таком случае зачем вообще нужна его формула со всеми кудрями?))) Какую пользу она может принести, если еще и сумму с НДС нужно будет посчитать? В таком порядке ни кто их не считает. Посмотрите повнимательнее - 12.05
Он грамотный парень, но не в бухгалтерии. Тот кто умеет считать НДС никогда такой вид подсчета не предложит.
спасибо огромное побольше б таких уроков от вас, это очень нужная помощь))) для простых экономистов как я...
Как все понятно. Супер! Когда знаешь, все просто!))
Спасибо за видео. Все с чувством, с толком, с расстановкой... Для новичков ваше видео - находка. Это действительно обучение, а не рассказ о том "какой я крутой спец, и как много я всего знаю". Материал излагается доступно и четко. Спасибо.
Огромная Вам благодарность, за сайт, уроки, советы! Удивительно, что правительство декларирует идеи по повышению производительности труда, но курсы по Excel я почему-то в перечне по повышению квалификации ни разу не встречал. По умолчанию, что ли топ-менеджеры, считают, что базовые инструменты MS Office каждый школьник знает и дальше углубляться нет смысла... покупают нам различные ПО, которые легко мог бы Excel с правильной базой данных заменить... Раньше отчет чуть ли не неделю делался, хотя и ВПР знал)) После Ваших видео-уроков и небольшой подготовки удалось сделать "шаблоны" и отчет улетаем по нажатию одной кнопки, только итоги сверяем для самоуспокоения))
самое простое - использовать кнопку "запись макроса", сделать один раз то, что нужно сделать, сохранить макрос и пользоваться. для этого даже vba знать не нужно.
Спасибо огромнейшее за такой полезный материал! Пожалуйста выкладывайте уроки по программированию в VBA
Блин, сделал такой же макрос, при выполнении Эксель выдает ошибку со ссылкой на переменную. Что делать?
Дорого времени суток, подскажите,как таблице Excell закрепить за определённым столбцом язык ввода,чтобы постоянно не переключать в ручную. Какие команды в VBA?
Добрый день.
Пользуюсь макросом на снятие пароля с листа и книги, где-то с года как данный макрос в некоторых книгах не работает.
Не знаете в чем проблема может быть?
На втором примере - я понял для чего нужен макрос.
А на первом - нет.
Я так и не понял формулировку - замена повторяющихся действий при замене формулы на числовое значение.
Может, кто-нибудь объяснить?
Отличная работа! Как раз планировал изучить vba, но не знал с чего начать. Но теперь все более менее стало понятным. Спасибо
Супер! Спасибо! Перестал бояться макросов!))
Поставил лайк, очень не хватает в повседневной работе знаний как у автора ролика. Ах если бы я также мог, уже сделал бы несколько кнопок - сделать хорошо 😁. Автору удачи! Буду смотреть канал периодически.
12:21 Как же сделать макрос "Сумма прописью"? (Встречал решение без макроса).
Не знаю, что бы я делал без VBA! Выручает с 2003-го года по сей день!
Спасибо Николай очень доходчиво и интересно, теперь надо искать книгу по программированию на VBA так как на работе без макросов никуда
Иногда файлы выдают сообщение о невозможности выполнить макрос. Как решить проблему (версия 2019, англ.)? Заранее спасибо за помощь.
Молодец, спасибо!!! ПРОСИМ МАСТЕР КЛАСС!
Для новичков более чем достаточно. Буду следить и обучать по вашим видеоурокам.. Очень понятно и мотивирующий...
Как установить современный Excel, если windows-10 тяжелый до моего компа?
Боюсь, что с этим могут быть проблемы. Последняя версия Office однозначно требует Windows 10.
Здраствуйте, подскажите вопрос. При запуске макросов выскакивает надпись Can t find project or library, это говорит о том что у меня не подключены библиотеки ? Пытаюсь дальше включить Tools/Peferences - выскакивают не активации библиотек а password, Это значит кто то в этих настройках поставил пароль ??
Да.
я хочу реализовать такую вещь: из таблицы событий данных в Экселе, как то создать постоянные кнопки в ленте, эти кнопки должны быть всегда при открытии любого документа Эксель . и вот, по нажатию этих кнопок, чтобы открывался другой лист с Итогами подсчета в новой таблице с определенными колонками наименований. Для этого обязательно нужно Макросы уметь создавать или как то можно штатными средствами Эксель справиться?
как посчитать разность дат например: с 01.01.1900 года до 20.07.2007 года в формате: __ лет; __месяцев; дней?
Добрый день! Для этого в самом Excel существует функция (то есть обычная формула) РАЗНДАТ. Работает она следующим образом:
1. Выбираете нужную ячейку, где должно быть отображено количество дней / месяцев / лет
2. Вставляете или прописываете следующую формулу: =РАЗДАТ([нач_дата],[кон_дата],[единица измерения])
3. Вместо [нач_дата] ставите ссылку на начальную дату - альетернативно можно дату прописать вручную - вот так "01.01.2000"
4. [кон_дата] заменяете на конечную дату, как в шаге 3
5. И выбираете единицу измерения - то есть разница между датами в годах / месяцах / днях. Заменяете [единица измерения] для лет на "y"; для месяцев на "m"; для дней на "d".
Вот пример того, как в итоге может выглядеть формула:
=РАЗНДАТ(A1;B1;"d") - В ячейке А1 начальная дата, в В1 - конечная. Формула выдаст количество дней между датами.
И конечно же данную формулу можно использовать и в VBA. В скором времени я собираюсь снять про написание формул в VBA отдельное видео на своем канале. Если Вам интересно - подписывайтесь :)
Ребят помогите пожалуйста. Впрос: 1 ) почему в вижуал бэйсик не прописывается русский шрифт? 2) почему в расчетах НДС он мне прописал #value ( правда я там словами где должно быть русс язык Сумма прописала англ Summ)
Можно попросить вас рассказать и показать попроще о создании сайта на основе обновляемых данных файла (можно дашборда) Excel-какие есть варианты таблиц на сайтах и как потом "эксплуатировать" сайт, модерировать комменты и что-то еще, сколько времени, людей и денег может на это уйти. Можно рассмотреть сайт продаж авто по годам и странам (страна-страница). Также интересно можно ли сделать кнопки-крестики для группировки строк-столбцов в таблице сайта. Удачи и спасибо за видео!!!!!
Сейчас НДС 20% - надо переделывать ролик :-) и не кто их не боится, но вирусы там часто могут использовать, потому надо или самому писать или знать что там написано. Спасибо.
Очень хорошее учебное видео.
Мне оно очень помогло.
Мне нужно использовать эту процедуру на большое количество ячеек.
Когда, я выбираю очень большое количество ячеек, процедура выполняется очень долго.
Есть ли возможность выполнение такой команды быстро для большого количества ячеек.
Буду очень благодарен, если подскажете, как записать такую процедуру.
А можно из .vbs файла сделать макрос
Очень большая просьба помочь с макросом sendkeys.
Создал несколько кнопок и назначил каждой макрос SendKeys "1" , SendKeys "2" и так далее.
При активной ячейке вводится либо одно число либо другое (заменяя предыдущее) .
А нужно чтобы вводилось оба. Например число 12,11,21 и т.д
Как осуществить такое?
P.S пробовал вместо sendkeys использовать ActiveCell.Value = ActiveCell.Value & 1.
При таком раскладе числа вводятся как положено, но тогда они не реагируют на условия проверки данных.
Короче замкнутый круг, а всего то хотелось создать виртуальную клавиатуру из цифр.
На данный момент макрос выглядит так -
Sub Кнопка1()
SendKeys "1"
End Sub
Второй и остальные макросы аналогичны -
Sub Кнопка2()
SendKeys "2"
End Sub
Что в макросы нужно дописать, чтобы они позволили рядом с введенной цифрой еще цифры добавлять,
(В активном окне), а не заменяли их? А то банально получается либо 1 либо 2, а я хочу 11,12,21,22 и .т.д ,
как при наборе с обычной клавиатуры.
как написать макрос для повторения № ячеек в столбце? пример 11/11 первые 2 строки, 12/12-следующие 3и4-ая строки и т.д.
Здравствуйте Николай. Известен /есть ли способ запускать макрорекордер програмно в vba Excel ?
Осталось вспомнить школьный курс VBA))))))
Николай. Несколько вопросов к вам.
1) Может ли макрос выполняться автоматически при заполнении какой-то определенной ячейки?
2) может ли этот же макрос выполнять какие-то построения именно объектами (круг, прямоугольник, стрелочка) в слое рисования ?
Спасибо..
Хорошее видео,много информации о богине царства мертвых из скандинавской мифологии,все по полочкам и захватывающе,прямо как я и искал)))
Для макроса всегда запускать ексель. Хотел чтоб были обращения к различным таблицам на фтп и их "доделка" до нужного формата
Здравствуйте! Подскажите пожалуйста. Можно ли в exel сделать что то вроди эмулятора биржи? Правда здесь есть одна особенность, нужно что бы цены генерировались с помощью "ГСЧ" или т.п. Помогите очень нужно.
Добрый день. В чем отличие между простой формулой НДС и расчета НДС через макрос ? Честно говоря, не очень мне понятно .заранее спасибо за ответ .
Требуется помощь! Пытаюсь создать макрос в MVB, ничего не выходит. Нужно знаку "+" присвоить функцию прибавления. Как прописать команду? Заранее благодарю
Подскажите, а как мне настроить макрос,
есть 2 столбца (первый составлен из второго с удалением дублей), мне нужно найти все дубли во втором и только то что дублируется окрасить в цвет и в первом и и во втором в один цвет?
Добрый день, спасибо за полезное и позновательное видео. Подскажите, как написать макрос, чтобы в определенном диапазоне ячеек срабатывала формула впр?
Помогите сделать простой макрос. Экспорт 33х ячеек в тхт. при нажатии кнопки. Все просто и такого нет.
Макросов бояться не перестал, но рвения поприбавилось :)
Пойду пытаться писать код для замены текста на значения (из SAP абсолютно все данные видятся экселем как текст. Просто сменить формат не работает, нужно обязательно зайти в каждую ячейку после изменения формата и сделать F2, enter. Или на выпадающую подсказку в виде ромбика нажать и выбрать "заменить все на значения"). При книгах с 50-100 тыс. строк это делается стандартными средствами Excel очень медленно. Хочется большего :)
Вы лучше своим SAP разработчикам поставьте задачу, чтобы выгружались правильные форматы данных, теоретически это дело 5 минут, как на практике, не знаю.
Иван (Владимирович), фишка в том, что наши "разработчики" - это наемные подрядчики. Для каждой запятой и т.п. реально формируется техническое задание, составляется бизнес-план, проводятся торги, по итогам выбираются самые дешевые подрядчики (ну явно так, потому что качество работы просто адЪ), которые приходят корректировать корпоративную базу всего Сибирского филиала... В общем, здесь проще выкрутиться, чем кому-то что-то попытаться доказать. Запросы по два-три года просто висят в воздухе, а когда приходит заветное "была изменена транзакция IW69...", мы реально боимся читать дальше, потому что до того криво все (обычно) делают, что лучше бы вообще не трогали.
А уж до модуля BI (который тоже есть в продуктах семейства SAP) уж и вообще как до Китая раком. Так что "лучше" или "не лучше" - это надо смотреть в контексте конкретной структуры предприятия. Увы и ах, но это так. Поэтому Take a buben and dancing! )))
P.S. Проблему решил брутально - научил эксель выполнять скрипты в SAP и копировать данные из его выгрузок в текущую книгу Excel. Делов на пять минут: В экселе жму кнопку, которая запускает макрос, который идет в SAP, запускает нужную транзакцию с нужными параметрами, делает выгрузку в Excel, потом из полученной выгрузки тяну всю таблицу в свой файл через Copy Destination. И готово: У меня данные сразу в нужном формате и с нужной скоростью.
Павел Симаков Самое верное решение. Используете сводные таблицы? Когда была необходимость в Excel для анализа их использовал, очень удобно. И они кстати могут непосредственно к sql серверу подключатся, если ни чего не путаю. Посмотрите в эту сторону.
Иван ВладимировичСводные таблицы? PowerPivot - вот настоящие сводные таблицы :) А так да - стараюсь выжать из экселя максимум. Пользую еще QlikView, но он по ряду параметров уступает экселю. И цена конская. В общем, развлекаемся как можем :) Сейчас заинтересовался темой построения дашбордов. Пока изучаю какие они бывают и т.п. нюансы.
Здравствуйте. У меня первая программа из первого урока не пошла. Я такой один?
Добрый день! Почему-то в выборе функции нет раздела "определенные функции"! Как это исправить?
Спасибо за видео! С учетом Ваших курсов в центре мастеров видео являются отличным подспорьем в освоении экселя :)
можно ли использовать листы Личной книги макросов для применения макросов ко всем Листам Excel?
У меня почему-то нет "Определенные пользователем". Подскажите пожалуйста, что делать
Николай, а будет ваша книга по VBA? Очень хочется!
Бомба! Спасибо! Делайте еще такие видео!
Николай, есть резон еще начинать учиться макросам в екселе или уже на что-то более модное переходить?
А если Макрос не сработал что делать?
Навряд ли мой коммент увидит Николай, но попытаюсь. Почему в function NDS×сумм? Зачем вообще писать сумм, если ячейка выбирается вручную?
Потому что Summ это переменная, содержимое которой задается пользователем как аргумент для функции :)
@@planetaexcel Но вы же не объявляли ее как переменную.
Экселю без разницы, как назовут. Вы же не называли диапазон ячеек "сумма"... Получается, в функции можно написать "× кабачок" и выбрать вручную ячейку. Я так и сделал
а как можно включить будильник?
Благодарю! Протестил "Заменятель" на функции МУМНОЖ и он не сработал, так как "нельзя изменить часть массива". Что делать в таких случаях?
Ну, это простой макрос для примера. Написать "заменятель", который умеет работать с любыми таблицами, формулами, массивами и т.д. - это та ещё задача :) Говорю, как человек, реализовавший это у себя в надстройке PLEX :) Там этот макрос занимает больше сотни строк :)
@@planetaexcel, понял, спасибо. Тогда проще скопировать и вставить значения )
Порекомендуйте пожалуйста книгу по VBA. Спасибо вам за ролик.
Спасибо! Помогло!)
Спасибо огромное, очень помогли с домашней работой в универе
скажите пож-та, а что требуется, чтобы не на вба писать, а на шарпе?
очень хорошие уроки, коротко, наглядно и понятно
Здраствуйте ! когда написал макрос тот что по уроку запустил и вискочила у меня
какая то табличка с надписью "Invalid Next control variable refarance" в поле ввода команд Microsoft Visual Basic , все проверил правильность написания команд опять вискакивает..может я гдето не поставил флажок какой то..зарание спасибо)))
Никалай а как можна так сделат чтоби в табличке написал что нибут хотыя 1
Спасибо большое за прекрасное видео и книгу! Реально очень помогли!
Спасибо большое! Ваш урок очень помог нам!
Спасибо!
Какой Вы молодец!!! Спасибо! Очень доступно и так помогает в работе.
Николай спасибо, давно искал такой простой макрос для редактирования ячеек. Обычно я фиксировано задавал диапазон ячеек в коде макроса, но это неудобно, так как адреса ячеек могут измениться, если добавить новые строки или столбцы.
Супер! Про udf не знал, как раз что мне надо
Спасибо большое за понятное объяснение макросов
кафыы мужик))))))
Круто! Спасибо большое. У меня получилось по уроку повторить, вот только не понимаю как это использовать в работе. Точнее не могу понять как данные с работы подставить чтобы был нужный результат.
А что именно надо?
Спасибо!
Здравствуйте Николай. У Вас очень понятливый речь. Приятно смотреть на Ваши видео. Объясните пожалуйста: Какая разница между вычислениями с помощю Vba(makros) и Функций? Разница между ними в скорости вычислений или на размере файла? Какие преимущества того или иного?
На размер файла это влияет слабо, а вот скорость вычислений у встроенных функций обычно сильно быстрее VBA.
как мы можем прочитать MIN функции?
Спасибо за подробное объяснение. Видео очень полезное.
Спасибо!!!Просто класс
ПОМОГИТЕ...КАК УДАЛИТЬ МОДУЛЬ МАКРОСА?
Правой кнопкой мыши по модулю - Remove - в следующем окне жмете No.
3:14
Спасибо!
Спасибо огромное за Ваш труд!👍
Спасибо чувак, емко, понятно без воды