VBA Урок_8 | Объекты и Ячейки Excel | Программирование для начинающих Просто и Доступно | Язык VBA

  Рет қаралды 17,424

ROBOTOBOR.PRO ✌ Доступное Программирование

ROBOTOBOR.PRO ✌ Доступное Программирование

Күн бұрын

Пікірлер: 53
@ДмитрийЕгоров-д1ж
@ДмитрийЕгоров-д1ж 5 жыл бұрын
Делаете большое дело! Не бросайте пожалуйста, мало кому удается так доступно преподнести материал.
@ПетрПетров-х7з4м
@ПетрПетров-х7з4м 8 жыл бұрын
Спасибо за подобные видео. Сам по образованию не программист, но в последнее время много приходится отчетов в эксцел делать. А с помощью вба можно многое оптимизировать, но справка по нему на английском и тупорылая. Поэтому для меня этот курс просто находка.
@Pups-q9l
@Pups-q9l 3 жыл бұрын
Молодец, все так понятно и доступно. Красавчик 5+
@dimitripasmore
@dimitripasmore 5 жыл бұрын
Спасибо за проделанную работу. Очень доступно и профессионально.
@V._A._S.
@V._A._S. 4 жыл бұрын
Спасибо. Всё довольно доходчиво, особенно когда сам сразу же пробуешь!
@TheGinnyngagap
@TheGinnyngagap 8 жыл бұрын
Спасибо за курс. Нравится не все, но это один из самых доступных БАЗОВЫХ курсов по VBA.
@RobotoborPro
@RobotoborPro 8 жыл бұрын
Спасибо за отзыв. Остальные мои курсы более целенаправленные (но такие же понятные), без многих лишних слов. Этот курс делался, как очень базовый, подходящий для любого человека, конечно всем не угодишь, но такова учесть курса для широкой многосторонней аудитории.
@ГеоргийДементьев-ы7ь
@ГеоргийДементьев-ы7ь 9 жыл бұрын
Спасибо, очень интересные уроки. Учусь по вашим урокам, все получается
@RobotoborPro
@RobotoborPro 9 жыл бұрын
+Георгий Дементьев Отлично, очень рад!
@Герман-о1в
@Герман-о1в 2 жыл бұрын
Очень хорошие видео, еще бы книжку с более глубокой теорией, там где все понятия будут разжеваны так сказать))
@AndWhoIsJohnDoe
@AndWhoIsJohnDoe 7 жыл бұрын
Впервые столкнулся с надобностью перемотки со скоростью быстрее, чем x2
@ВалерийКиреев-х1х
@ВалерийКиреев-х1х 8 жыл бұрын
Просто----- Большое Спасибо
@Mitellstein
@Mitellstein 7 жыл бұрын
Пока все понятно. Даже страшно. - Учим дальше)
@АнастасияБогданова-с9б
@АнастасияБогданова-с9б 8 жыл бұрын
Спасибо,что так "разжевываете"!!Вот домашнее задание какое-нибудь если было...а ответ только в конце следующего урока,дело бы еще быстрее пошло.
@RobotoborPro
@RobotoborPro 8 жыл бұрын
+Анастасия Богданова Спасибо за подсказку, возможно, так и сделаю к какому-нибудь видео-курсу )
@firuzsafarov5199
@firuzsafarov5199 6 жыл бұрын
спасибо. все очень понято. для чайников))
@_Iokanaan_Marusidze_
@_Iokanaan_Marusidze_ 8 жыл бұрын
СПАСИБО !
@MrCoacherable
@MrCoacherable 9 жыл бұрын
Присоединяюсь к благодарностям - большущее спасибо! Очень доступно и по делу! Скажите, пожалуйста, а аналогичные уроки по c# от Вас не предвидятся?? :)
@RobotoborPro
@RobotoborPro 9 жыл бұрын
+anton notna Очень приятно, что уроки несут полезность. Курс по C# есть в планах, но думаю, что он (курс) будет не слишком разжеванным, как данный курс, но должен быть таким же понятным и доступным :)
@artemiymaksimov3162
@artemiymaksimov3162 4 жыл бұрын
Подскажите , а разве методы это не совокупность функций и процедур ?
@RobotoborPro
@RobotoborPro 4 жыл бұрын
Методами в некоторых других языках называют и процедуры и функции, так как они выглядят одинаково, они там различаются на методы возвращающие либо типы данных, либо void.
@schmidtscience2902
@schmidtscience2902 8 жыл бұрын
Существуют различные методологии ООП, где классы прописываются только в класс-ориентированном программировании. Но всё-таки, как я понял (могу ошибаться), vba действительно немного псевдопрограммирование.(ещё один повод погордиться за openOffice, где js используется)
@RobotoborPro
@RobotoborPro 8 жыл бұрын
+Schmidt Science да, это неполноценное ООП, классы здесь тоже можно создавать, но это убого. И классы почти никто не использует в VBA, но в некоторых случаях можно. Вообще, это язык макросов и программирование здесь упрощено, но научиться структурному, процедурному программированию вполне можно.
@schmidtscience2902
@schmidtscience2902 8 жыл бұрын
Классы здесь и не надо создавать. Как я понял, это прототипный стиль программирования. У него есть свои минусы, но в некоторых ситуациях он уместнее.
@schmidtscience2902
@schmidtscience2902 8 жыл бұрын
А на счёт простоты, да, vba очень упрощённый язык, но, согласитесь, с js работать куда удобнее.
@RobotoborPro
@RobotoborPro 8 жыл бұрын
Это не прототипный язык программирования, здесь можно использовать свои классы и работать с объектами, как в урезанном класс-ориентированном программировании, а не динамически управлять объектами и их методами. Просто в этом языке настолько много объектов под платформу, например, под Excel, что вы только и работаете с этими объектами, можете создавать новые объекты на основе уже определенных классов, НО НЕ ЭКЗЕМПЛЯРОВ объектов, что его и отличает от прототипных динамических языков, склоняя более к классическому ООП.
@RobotoborPro
@RobotoborPro 8 жыл бұрын
Да JavaScript удобен, но научившись на VBA классическому структурному программированию с использованием объектов, будет легче также перейти к классическому ООП, т.е. класс-ориентированному программированию на том же VB.NET или C#. Вообще меня от JavaScript, как и от PHP всегда немного потряхивало, так как всегда считал их недоязыками, но времена меняются и эти языки уже во многих местах зарекомендовали себя. Да и часто мне приходится frontend программировать на JS. VBA я также долгое время не признавал, пока не стал профессионально программировать на серьезных языках, и только после того, как я понял как устроенно вся эта кухня с языками, только тогда мне он понравился, как простой язык, которым можно пользоваться "если правильно его готовить". Чему я и стараюсь научить ребят в своих курсах.
@romanvasiura6705
@romanvasiura6705 9 жыл бұрын
Спасибо. После просмотра (и практики) возникли некоторые вопросы: (Буду очень благодарным за ответ на них): 1. На сколько важно программировать в одном стиле ячеек (я имею в виду пропись как Range и Cells) - допускается ли смешенное введения данных в одной процедуре. 1.1. Как использовать циклы к обектам Range ("A4") как можно в данном случае добавлять к ячейкам столбцы и строки... Используют только Offset (Range ("A4").Offset(1, 0) - и далее проводим соответственные замены (оглашаем переменные - для строк и столбцов))? Или же можно обойтись без него? (Есть ли другие варианты?1.2. Как можно объявить массив данных с помощью объекта Cells? - по аналогии объекта Range ("A1:B5").? 2. Как автоматически менять стили ячеек R1C1 и обратно у формат А1 - есть ли горячие клавиши по умолчанию для этого действия - или же необходимо писать макрос (с назначение своей комбинации)?3. На сколько важно/желательно объявлять полную пропись операции: ActiveWorkbook.Sheets(1).Range("A6").Value=17 (то есть можно обходиться свободно без Value... и упрощать вплоть до Range ("A6")=17... (на первых этапах лучше прописывать полностью?.. (В принципе если этот код никто не будет видеть кроме самого разработчика - зачем его расписывать? 4. Есть ли своего рода (программа) переводчик команд? (с объяснением действий введенной команды) - или же только используется "Справка" и помощь Google?
@RobotoborPro
@RobotoborPro 9 жыл бұрын
+Роман Васюра 1. Не обязательно программировать в одном стиле, нужно выбирать стиль под конкретную задачу и возможное дальнейшее ее расширение, сопровождение. Конечно, допускается смешанная реализация программного кода в логическом блоке, но все должно быть прозрачно не только для Вас, но и для людей, которые, возможно, будут сопровождать в будущем Ваш код. Даже Вам должно быть понятно, что написано через два месяца, когда, обычно суть логики внутри процедур забывается. Также нужно избегать при таком программировании подстановки различных "костылей" в код, ну, например, Вы работаете с диапазонами “A1-A50”, и уже много кода написали, и тут Вам понадобилось выполнять цикл по ячейкам, а его удобнее писать как Cells(1,1) - Cells(50,1) и тогда Вы пишете в двух стилях, а между ними приделываете костыль в виде дополнительной какой-нибудь самописной функции и т.д., уж лучше бы сразу писали в стиле Cells(x,y). Но, конечно, если код написан архитектурно красиво и использует красивое взаимодействие между двумя стилями, например, написаны удобные сигнатуры у функций для взаимодействия, тогда это хороший путь, понятный любому разработчику для дальнейшего сопровождения кода. Программист помимо решения задачи, т.е. что должна программа выполнять, решает еще и как грамотно выстроить код программы, чтобы его можно было легко сопровождать, иначе доработка кода может превратиться в ад и дальнейшее его полное переписывание, что стоит времени и денег. Поэтому программист решает как минимум две задачи: 1 цель программы и 2) хорошую архитектуру и реализацию кода. 1.1 да, можно использовать Offset(x,y) - это хороший путь если Вам нужно писать в этом стиле, можете написать свою функцию для возвращения нужной Вам ячейки или диапазона. Массив данных с помощью объекта Cells, можно так: Range(Cells(1, 1), Cells(50, 1)) 2. 2. Никогда не работал со стилем формул R1C1, вполне, можно обойтись и без него. Активную книгу прописывать опять же не обязательно ActiveWorkbook.Sheets(1).Range("A6").Value=17, но желательно. Приведу пример из жизни, год назад ребята тестировали один и тот же макрос, с некоторыми отличиями в коде и выполнении цели программы, тестировали в разных одновременно открытых книгах на одной машине, так вот они думали, что творятся фантастические вещи или глюки, вроде макрос запускают, а он выдает не те результаты в книгу и так через раз или через два, то верные результаты на одних и тех же данных, то не верные результаты. Пришлось как обычно разбираться мне в их коде, оказалось, что макрос из одной книги работал с данными в другой книги, вот так вот, и результаты были разные. Поэтому запись о рабочей книге и листе рекомендую писать. Конечно, если Вы присваиваете значение, то .Value писать не обязательно, на первых этапах писать нужно, это вырабатывает хорошую привычку. А потом уже на автомате будете или писать, или не писать, опыт сделает свое дело со временем, четко будете понимать, что работаете с таким-то таким свойством. 3. В VBA можно использовать браузер(эксплорер, проводник) объектов. Далее книги, интернет, и т.д. Если найдете такой переводчик команд, поделитесь, пож-та. Скажу больше, сейчас последние два года не вижу качественных книг по программированию переведенных на русский язык, есть только на английском и видеоконтент на просторах интернета оставляет желать лучшего, не знаю, что произошло, но качественного современного обучения не хватает, я бы с удовольствием изучил несколько интересующих меня технологий, но все сводится к дорогим зарубежным пакетам обучения, либо книгам. Желаю Удачи!
@romanvasiura6705
@romanvasiura6705 9 жыл бұрын
+ROBOTOBOR.PRO ✌ Доступное Программирование Спасибо!!! Такого обширного ответа не ожидал) Успехов и Вам!!!
@MrSteelWar
@MrSteelWar 6 жыл бұрын
Здравствуйте, а можете подсказать, какая функция в VBA отвечает за перемножение ячеек в диапазоне? У меня просто вот такое задание: Определить в диапазоне произведение элементов тех строк, первый элемент которых положителен.
@RobotoborPro
@RobotoborPro 6 жыл бұрын
Добрый День. Функция =Произвед(), в Вашем случае, например, в одной строке такая формула, протяните ее вниз для всех строк =Если(A1>0; Произвед(A1:D1))
@MrSteelWar
@MrSteelWar 6 жыл бұрын
Спасибо большое!
@AnonimusAnonimusAnon
@AnonimusAnonimusAnon 6 жыл бұрын
а зачем через ВБА. Напиши формулу массива ={ПРОИЗВЕД(ЕСЛИ(A1:A5>0;A1:A5;""))}
@maratzakirov8940
@maratzakirov8940 9 жыл бұрын
Thank you a lot!!!
@rustamfurs8989
@rustamfurs8989 9 жыл бұрын
А как вставить, например в ячейку Е5, любое из значений от A1 до С1, например? Заранее спасибо
@RobotoborPro
@RobotoborPro 9 жыл бұрын
+Rustam Furs можно так: Cells(5, 5).Value = Cells(1, 2).Value или так: Range("E5").Value = Range("B1").Value
@AnonimusAnonimusAnon
@AnonimusAnonimusAnon 6 жыл бұрын
Что нужно изменить в макросе из урока Dim diapas As Integer For diapas = 1 To 10 ThisWorkbook.Worksheets(1).Cells(diapas, 1) = 555 Next Чтоб получить заполненными не только один столбец или диагональ (diapas, diapas) а весь диапазон Пробовал писать что-то вроде Range (diapas:diapas) но не получается.
@RobotoborPro
@RobotoborPro 6 жыл бұрын
Нужен цикл в цикле. В каком-то из уроков это показано.
@AnonimusAnonimusAnon
@AnonimusAnonimusAnon 6 жыл бұрын
​@@RobotoborPro разобрался: Dim diapas As Integer Dim dia As Integer For diapas = 1 To 10 For dia = 1 To 5 ThisWorkbook.Worksheets(1).Cells(diapas, dia) = 555 Next dia Next diapas Потихоньку начинаю понимать. Спасибо огромное!
@AlexAlex-vr9rq
@AlexAlex-vr9rq 8 жыл бұрын
Здравствуйте, мне бы хотелось узнать, как сделать, чтобы информация бралась из ячейки, например: из ячейки B2 мне нужно число, для того чтобы в дальнейшем это число разделить на число из ячейки В3 и вывести результат в ячейку B4??? объясните пожалуйста, как мне это сделать?
@RobotoborPro
@RobotoborPro 8 жыл бұрын
+Алекасндр Евашов Можно так, как самый простой вариант: Range("B4").value = Range("B2").value / Range("B3").value
@AlexAlex-vr9rq
@AlexAlex-vr9rq 8 жыл бұрын
+ROBOTOBOR.PRO ✌ Доступное Программирование Большое спасибо!!! Оказывается всё намного проще=)
@Serega_Zaicev
@Serega_Zaicev 4 жыл бұрын
блин посмотрел сколько там уроков ещё смотреть и я понимаю что первый урок я забываю
@volodymyrzynchenco1189
@volodymyrzynchenco1189 6 жыл бұрын
Классный материал. Слов нет. Автору громадный плюс и палец вверх, но... Слушай, ну так нельзя!!! или ты по жизни флегматик полусонный, или слишком стараешься всё разжевать, или просто не имеешь программы подачи материала (так сказать учишь "влёт" - что пришло на ум, то и подаёшь). Слушать очень тяжело и ожидать: что ж ты в конце концов родишь? Лайк твой!
@RobotoborPro
@RobotoborPro 6 жыл бұрын
Да, этот курс у меня был первый, старался разжевывать до тошноты. За пример ученика, представлял, полного нуль человека, далекого от программирования и логического мышления. Ну, и конечно, многое сходу рассказывл, в основном это в первых уроках. Последние уроки в этом курсе, тоже почти сходу, но более быстрые, практичные. То есть весь код писался с нуля, без предварительного его кодирования и тестирования. Остальные мои курсы более живые и интересные, в них я считаю, что мой ученик, уже имеет некоторые знания, и отфильтровались те, кто не дошел до конца. Как-то так.
@volodymyrzynchenco1189
@volodymyrzynchenco1189 6 жыл бұрын
Я так и понял. Потому что одно и то-же по несколько раз - это не по приколу. За материал - благодарю от всей души. Так уж сложилось, что попал на лёгкий труд и нужно было сварганить программку для обработки документации по эксплуатации в локомотивном депо. Я и слепил, в екселе, единственное не учёл, что не у всех людей руки растут из плечей, у некоторых из другого места и мозг куриный,.вдобавок. Там необходимо массу данных вводить с клавиатуры, а это делать прямо в таблицах очень неудобно. Пришлось переделывать, вводить формы ввода и малевать кучу макросов. Ну, естественно я и забуксовал. Благо есть твой курс.... Выручил.
@Тимур-я1ъ
@Тимур-я1ъ 6 жыл бұрын
вот это видео понятно.7.1 и 7.2 непонятны
@AlexanderAbramovNN
@AlexanderAbramovNN 8 жыл бұрын
уже 5 минут посмотрел, пока ничего не сказано по сути..
@Тимур-я1ъ
@Тимур-я1ъ 6 жыл бұрын
скорость 1.5
@fusome
@fusome 8 жыл бұрын
вЁрк бук - спасИбИ тЯбе за прИизнАшение. Нравится тЯбе? Я прошу прощения за тролинг, но докладчик по типу этих бестолковых "преподов" в универах. Монотонно изнуряющих поток студентов своим засыпающим голосом, которые коверкают все англоязычные слова как им хочется и начитывают всякую теоретическую ересь 2 часа, вместо практических занятий за 30-40 мин., применимых в дальнейшей работе! Я сдаюсь, это невозможно дальше смотреть
@RobotoborPro
@RobotoborPro 8 жыл бұрын
Деструктивное утверждение. Курс не для Вас, я Вам отвечал уже. Это не уроки быстрого решения проблемы, это последовательное обучение программированию в доступной манере. И с английским все в порядке, книги на английском приходится читать (часто приходится адаптировать английский для русскоязычного программиста). Тролей в аут.
@TheMorganNSK
@TheMorganNSK 6 жыл бұрын
Очередной дурачок, считающий, что обучение - это развлечения и пляски не более 30-40 минут. Главное, чтобы его высочество не заскучало.
VBA Урок_9 | Структуры | Программирование для начинающих Просто и Доступно | Язык VBA
40:19
ССЫЛКА НА ИГРУ В КОММЕНТАХ #shorts
0:36
Паша Осадчий
Рет қаралды 8 МЛН
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.
Sigma girl VS Sigma Error girl 2  #shorts #sigma
0:27
Jin and Hattie
Рет қаралды 124 МЛН
Python - полный курс для начинающих. Этот навык изменит твою жизнь.
5:27:42
Запуск макроса по времени
16:58
Nikolay Pavlov
Рет қаралды 29 М.
VBA (Использование классов и объектов) ч.1
22:03
Ruslan Scherbakov - kursoft ru
Рет қаралды 21 М.
Цикл For … Next - Новый курс VBA (8)
18:59
Билял Хасенов – Excel, VBA & More
Рет қаралды 28 М.
ССЫЛКА НА ИГРУ В КОММЕНТАХ #shorts
0:36
Паша Осадчий
Рет қаралды 8 МЛН