Программирование макросов на VBA в Excel
Vložit
- čas přidán 15. 04. 2013
- Что такое макросы, как их создавать и использовать. Для "простых смертных" пользователей, НЕ-программистов. Более подробно тут planetaexcel.ru/techniques/3/59/
Заходите в гости ↓↓↓
Twitter / planeta_excel
Facebook / planetaexcel
Instagram / planetaexcel
Мои книги planetaexcel.ru/books/
Моя надстройка PLEX (+150 новых функций для вашего Excel) planetaexcel.ru/plex/
Парень грамотный и толковый! Все очень понятно! СПАСИБО ТЕБЕ БОЛЬШОЕ!
угу, токмо ентно не "парень" (грамотный/толковый) это ведущий русскоязычный бизнес-тренер по направлению Excel! (так, к сведенью...)
instablaster...
Спасибо за видео. Все с чувством, с толком, с расстановкой... Для новичков ваше видео - находка. Это действительно обучение, а не рассказ о том "какой я крутой спец, и как много я всего знаю". Материал излагается доступно и четко. Спасибо.
Спасибо огромнейшее за такой полезный материал! Пожалуйста выкладывайте уроки по программированию в VBA
Как все понятно. Супер! Когда знаешь, все просто!))
спасибо огромное побольше б таких уроков от вас, это очень нужная помощь))) для простых экономистов как я...
Какой Вы молодец!!! Спасибо! Очень доступно и так помогает в работе.
Отличная работа! Как раз планировал изучить vba, но не знал с чего начать. Но теперь все более менее стало понятным. Спасибо
Огромная Вам благодарность, за сайт, уроки, советы! Удивительно, что правительство декларирует идеи по повышению производительности труда, но курсы по Excel я почему-то в перечне по повышению квалификации ни разу не встречал. По умолчанию, что ли топ-менеджеры, считают, что базовые инструменты MS Office каждый школьник знает и дальше углубляться нет смысла... покупают нам различные ПО, которые легко мог бы Excel с правильной базой данных заменить... Раньше отчет чуть ли не неделю делался, хотя и ВПР знал)) После Ваших видео-уроков и небольшой подготовки удалось сделать "шаблоны" и отчет улетаем по нажатию одной кнопки, только итоги сверяем для самоуспокоения))
Спасибо! Отличное видео, все четко и понятно.
Спасибо за видео! С учетом Ваших курсов в центре мастеров видео являются отличным подспорьем в освоении экселя :)
очень хорошие уроки, коротко, наглядно и понятно
Бомба! Спасибо! Делайте еще такие видео!
Спасибо за подробное объяснение. Видео очень полезное.
Спасибо Николай очень доходчиво и интересно, теперь надо искать книгу по программированию на VBA так как на работе без макросов никуда
Поставил лайк, очень не хватает в повседневной работе знаний как у автора ролика. Ах если бы я также мог, уже сделал бы несколько кнопок - сделать хорошо 😁. Автору удачи! Буду смотреть канал периодически.
Спасибо чувак, емко, понятно без воды
Спасибо большое за прекрасное видео и книгу! Реально очень помогли!
Больше спасибо за выпуск.
Спасибо огромное за Ваш труд!👍
Урок просто супер, очень помогло) теперь я много чего в работе упростить смогу СПАСИБО)
Молодец, спасибо!!! ПРОСИМ МАСТЕР КЛАСС!
Супер! Спасибо! Перестал бояться макросов!))
Николай! С учётом моего трепетного отношения к табличной программке позвольте выразить Вам глубочайших симпатий и просьб "выкладываться" в русле ликбезов по пользовательским вопросам в Excel. Прежде я думала, что умею.. Оказалось, мне ещё учится и учиться! Что делать у Вас очень приятно: просто, внятно, доходчиво. Спасибо, и не оставляйте поклонников "табличек" и Вас лично без Вашего внимания!
Спасибо! Всё очень доступно!
Спасибо большое за понятное объяснение макросов
Спасибо большое! Ваш урок очень помог нам!
Спасибо огромное, очень помогли с домашней работой в универе
Очень хорошее объяснение!
Большое спасибо Никола!
*Потрясающе!*
Не знаю, что бы я делал без VBA! Выручает с 2003-го года по сей день!
Спасибо!!!Просто класс
Всё чётко и ясно.
Супер! Про udf не знал, как раз что мне надо
Спасибо за видео
Спасибо! Помогло!)
И это говорит человек с суперменом на аватарке? Где вы видите тут понты? Редактор Visual Basic и сам язык программирования не локализуются Microsoft'ом на русский уже лет 15. Хотите программировать - учите английский (хотя бы технический).
Уважаемый автор помогите пожалуйста разобраться с одной проблемой
Большое спасибо!
За видео, спасибо!
Спасибо! Очень хороший материал.
Восхищаюсь Вами и благодарю за ценные знания, которыми делитесь.
Excel это круто!
Спасибо за видео))
Да спасибо, большое, я к вам на сайт.
Благодарю!
Спасибо!
Пацаны ваще ребята, четко
Хорошее видео,много информации о богине царства мертвых из скандинавской мифологии,все по полочкам и захватывающе,прямо как я и искал)))
Можно попросить вас рассказать и показать попроще о создании сайта на основе обновляемых данных файла (можно дашборда) Excel-какие есть варианты таблиц на сайтах и как потом "эксплуатировать" сайт, модерировать комменты и что-то еще, сколько времени, людей и денег может на это уйти. Можно рассмотреть сайт продаж авто по годам и странам (страна-страница). Также интересно можно ли сделать кнопки-крестики для группировки строк-столбцов в таблице сайта. Удачи и спасибо за видео!!!!!
Класс!!!
Вот почему когда видишь хорошее видео, которое снято и прокоментировано очень грамотно, все равно находится несколько тупых оленей которые ставят под видео "не понравилось"?
+Же нек Да бросьте :) Если бы все только лайкали - я бы напрягся, что что-то не то делаю :)
Я лайк поставил) урок по XL показался полезным. Но НДС Вы считать не умеете. По вашей формуле у людей расплодится много неправильных расчетов. Верный расчет выглядит так: сумма/118*18=НДС. А по вашей формуле высчитывают подоходный налог или налог на прибыль. Уточните у бухгалтера, он вам это объяснит. Было время когда я тоже как Вы НДС считал).
Наверное потому что, то что описано 1. иногда рассказывает долго и нудно 2.не работает!! И это очень частая ошибка. Даже я сейчас сделал всё как показано и в моих файлах ексель не воспроизводится работа макроса. А делать видео только для определённой версии ПО которая стоит только у одного человека не имеет смысла.
@@user-fw6zt4uc1u Не совсем правильно. В примере Николая изначально сумма без НДС. Поэтому НДС рассчитана правильно. В вашем же примере, я так понял что сумма уже с НДС, поэтому ваша формула как раз для такого случая. Ну для тех кто сейчас читает, НДС уже 20%, поэтому формулу можно переделать: (сумма/120)*20=сумма/6) или сумма *1,16(6)
@@Locomotiv23530 так можно сказать, если пытаться его оправдать). Но в таком случае зачем вообще нужна его формула со всеми кудрями?))) Какую пользу она может принести, если еще и сумму с НДС нужно будет посчитать? В таком порядке ни кто их не считает. Посмотрите повнимательнее - 12.05
Он грамотный парень, но не в бухгалтерии. Тот кто умеет считать НДС никогда такой вид подсчета не предложит.
Добрый день, спасибо за полезное и позновательное видео. Подскажите, как написать макрос, чтобы в определенном диапазоне ячеек срабатывала формула впр?
большое спасибо
здравствуйте у меня один вопрос. можно ли создать макрос для печати данных с одного листа. например у меня лист Краснодарский край а там отдельно ведомости для пенсионеров городов или сел края. и каждый раз я делаю принт селектион для каждой ведомости. есть ли способ полегче? это очень утомительно. заранее спасибо
Николай спасибо, давно искал такой простой макрос для редактирования ячеек. Обычно я фиксировано задавал диапазон ячеек в коде макроса, но это неудобно, так как адреса ячеек могут измениться, если добавить новые строки или столбцы.
Николай. Несколько вопросов к вам.
1) Может ли макрос выполняться автоматически при заполнении какой-то определенной ячейки?
2) может ли этот же макрос выполнять какие-то построения именно объектами (круг, прямоугольник, стрелочка) в слое рисования ?
Спасибо..
Николай, есть резон еще начинать учиться макросам в екселе или уже на что-то более модное переходить?
Здравствуйте! Подскажите пожалуйста. Можно ли в exel сделать что то вроди эмулятора биржи? Правда здесь есть одна особенность, нужно что бы цены генерировались с помощью "ГСЧ" или т.п. Помогите очень нужно.
можно ли использовать листы Личной книги макросов для применения макросов ко всем Листам Excel?
Когда знаешь - все просто!
Здравствуйте Николай. У Вас очень понятливый речь. Приятно смотреть на Ваши видео. Объясните пожалуйста: Какая разница между вычислениями с помощю Vba(makros) и Функций? Разница между ними в скорости вычислений или на размере файла? Какие преимущества того или иного?
На размер файла это влияет слабо, а вот скорость вычислений у встроенных функций обычно сильно быстрее VBA.
Блин, сделал такой же макрос, при выполнении Эксель выдает ошибку со ссылкой на переменную. Что делать?
Познавательно
Порекомендуйте пожалуйста книгу по VBA. Спасибо вам за ролик.
Макросов бояться не перестал, но рвения поприбавилось :)
Пойду пытаться писать код для замены текста на значения (из 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, но он по ряду параметров уступает экселю. И цена конская. В общем, развлекаемся как можем :) Сейчас заинтересовался темой построения дашбордов. Пока изучаю какие они бывают и т.п. нюансы.
Подскажите, а как мне настроить макрос,
есть 2 столбца (первый составлен из второго с удалением дублей), мне нужно найти все дубли во втором и только то что дублируется окрасить в цвет и в первом и и во втором в один цвет?
Николай, а будет ваша книга по VBA? Очень хочется!
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 а для опен офис?
Требуется помощь! Пытаюсь создать макрос в MVB, ничего не выходит. Нужно знаку "+" присвоить функцию прибавления. Как прописать команду? Заранее благодарю
я хочу реализовать такую вещь: из таблицы событий данных в Экселе, как то создать постоянные кнопки в ленте, эти кнопки должны быть всегда при открытии любого документа Эксель . и вот, по нажатию этих кнопок, чтобы открывался другой лист с Итогами подсчета в новой таблице с определенными колонками наименований. Для этого обязательно нужно Макросы уметь создавать или как то можно штатными средствами Эксель справиться?
Здравствуйте Николай. Известен /есть ли способ запускать макрорекордер програмно в vba Excel ?
Дорого времени суток, подскажите,как таблице Excell закрепить за определённым столбцом язык ввода,чтобы постоянно не переключать в ручную. Какие команды в VBA?
Николай, почему вы в своих примерах макросов не используете отступы для визуального структурирования кода?
Здраствуйте ! когда написал макрос тот что по уроку запустил и вискочила у меня
какая то табличка с надписью "Invalid Next control variable refarance" в поле ввода команд Microsoft Visual Basic , все проверил правильность написания команд опять вискакивает..может я гдето не поставил флажок какой то..зарание спасибо)))
Добрый день.
Пользуюсь макросом на снятие пароля с листа и книги, где-то с года как данный макрос в некоторых книгах не работает.
Не знаете в чем проблема может быть?
Подписался
Круто! Спасибо большое. У меня получилось по уроку повторить, вот только не понимаю как это использовать в работе. Точнее не могу понять как данные с работы подставить чтобы был нужный результат.
А что именно надо?
а есть уроки по этой теме у тебя?
Очень большая просьба помочь с макросом 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 и .т.д ,
как при наборе с обычной клавиатуры.
Добрый день! Почему-то в выборе функции нет раздела "определенные функции"! Как это исправить?
как мы можем прочитать MIN функции?
Очень интересно. Я когда-то делаль запись макроса, потом чистил-дописывал его, заворачивал в циклы и делал кнопку на листе. Из 26 файлов районных отчетов получался областной отчет в новый файл. Но это было двацать лет назад, сейчас таких задач не стоит, а жаль, было интересно.
если интересно, можешь помочь мне :)
мне надо из двух файлов за два месяца, сделать один суммирующий.
т.е. есть перечень организаций с начислениями отдельно за каждый месяц, а мне надо слепить вместе, получить итого за 2 месяца.
сложность в том, что организации каждый месяц меняются, добавляются или убывают, а структуру файла, порядок сортировки менять нельзя.
@@lexx.v "Когда-то" означает на офисе 97 или 2000 и про "лет двадцать назад" я написал. На сегодняшний день стоит вопрос, "а оно мне зачем, если по работе я сталкивался с этим двадцать лет назад, последний раз?". Ради интереса я пойду сниму фары с машины отполирую и наклею пленку или построю ВПН в жопу мира.
По твоей задаче, поищи макросы что-то типа "список файлов в папке" и "поиск последней непустой ячейки на листе". Наклацай свой макросик заполнения шапки результирующего файла, копирования выделений от последней непустой до А2 из файла оотчета. Дальше закрути цикл на основе найденного макроса "списка" вокруг своего макросика, в который добавь поиск последней ячейки, выделение до А2 и копирование из найденных файлов в результирующий.
Добрый день. В чем отличие между простой формулой НДС и расчета НДС через макрос ? Честно говоря, не очень мне понятно .заранее спасибо за ответ .
скажите пож-та, а что требуется, чтобы не на вба писать, а на шарпе?
Иногда файлы выдают сообщение о невозможности выполнить макрос. Как решить проблему (версия 2019, англ.)? Заранее спасибо за помощь.
Для макроса всегда запускать ексель. Хотел чтоб были обращения к различным таблицам на фтп и их "доделка" до нужного формата
Осталось вспомнить школьный курс VBA))))))
У меня почему-то нет "Определенные пользователем". Подскажите пожалуйста, что делать
как посчитать разность дат например: с 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 отдельное видео на своем канале. Если Вам интересно - подписывайтесь :)
12:21 Как же сделать макрос "Сумма прописью"? (Встречал решение без макроса).
Помогите сделать простой макрос. Экспорт 33х ячеек в тхт. при нажатии кнопки. Все просто и такого нет.
Николай, я бы хотел заказать такой макрос:
В столбце Excel написаны Фамилия, Имя, Отчество человека.
Мне нужно, чтобы первое слово (подразумевается, что это будет фамилия) переместилось в столбец слева.
Чтобы в итоге у меня была фамилия в одном столбце, а имя и отчество - в другом.
Данные-Текст по столбцам-Разделитель: пробел
а как можно включить будильник?
Никалай а как можна так сделат чтоби в табличке написал что нибут хотыя 1
Скажите пожалуйста а на макбуке можно так программировать?
Здравствуйте, Наталья! Конечно можно. Единственное - возможно, Вам придется иногда смотреть самой, например, другие комбинации клавиш для ускорения работы. Но поскольку это не критично и в целом не обязательно, это абсолютно не является проблемой.
как написать макрос для повторения № ячеек в столбце? пример 11/11 первые 2 строки, 12/12-следующие 3и4-ая строки и т.д.
Николай, здравствуйте! Обязательно ли НДС писать английскими буквами или можно русскими?
Это название функции - как ее назовете в коде VBA, так и нужно писать в ячейку листа.
самое простое - использовать кнопку "запись макроса", сделать один раз то, что нужно сделать, сохранить макрос и пользоваться. для этого даже vba знать не нужно.
А можно из .vbs файла сделать макрос
Сейчас НДС 20% - надо переделывать ролик :-) и не кто их не боится, но вирусы там часто могут использовать, потому надо или самому писать или знать что там написано. Спасибо.