Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!
Здравствуйте, Андрей! Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :) С уважением и хорошего Вам дня, ХБ
Очень хорошо объяснено. Есть ещё один вариант, который может быть удобней и проще, чем устанавливать триггер на watch через переменную, это команда Stop(особенно если в середине огромного кол-ва циклов что-то произошло и нет уверенности из-за какой переменной или значения и как вообще это могло случиться). if +-=>< 'перечисляем как хочется наборы условий для паузы процедуры Stop ' эта команда как и breakpoint остановит выполнение end if
Поначалу очень смутили переменные для значений строки и столбца - долго не понимал что происходит! Разобрался - внимательнее надо слушать)) Спасибо, большое, как всегда очень здорово и познавательно! Самое интересное как всегда в конце!
Билял, тебе большое спасибо за этот урок, с тобой становится всё просто и понятно! Жаль что в VBA нужно Debug.Print писать, чтобы выводилась проделка... в современных языках в консоли автоматически выводится. Это я к тому, что VBA можно было бы дальше развивать, делать более современным и мощным
Здравствуйте, Рустам! Благодарю за Ваш комментарий! Касательно малого количества подписчиков - проблема в том, что, несмотря на положительные отзывы аудитории и прочие, достаточно положительные статистические показатели канала, RUclips выводит видео с канала лишь в нижних строках результатов поиска. Соответственно, аудитория просто редко находит сами видео. Полагаю, это связано измененными алгоритмами поисковой машины RUclips (раньше, как я понимаю, аудиторию на RUclips было набрать гораздо проще и быстрее). При этом, если проследить за развитием аудитории у, в качестве примера, бьютиблогеров, просто удаляешься экспоненциальному росту базы подписчиков каналов с подобной тематикой. Думаю, это может быть связано с приоритетами RUclips касательно тематик видеоканалов. Но ничего страшного - я рад, что могу приносить пользу хотя бы тому количеству людей, что уже подписаны на мой канал - а со временем их станет, надеюсь, определенным образом больше. Хотел Вас спросить касательно Вашей заметки о маркетинге - Вы имеете ввиду, что были бы готовы поддерживать развитие данного курса VBA в виде плейлиста на канале в форме добровольной оплаты (в стиле Краудфандинга)? Или же Вы имели ввиду, что для Вас были бы интересны дополнительные материалы к курсу с платным доступом? С уважением, ХБ
@@BilyalKhassenov ПО поводу курса, что я хотел сказать: В любом видео по vba/excel, которое я нахожу для себя полезным, после просмотра я иду в описание ролика, где обычно есть ссылка на сайт автора, с его курсами. Сейчас я просто смотрю что есть на ютюб, и статьи в инете, потом хочу всё это привести в систему, и затем вывести на более высокий уровень. Соответственно буду искать человека, который может предложить системное решение (в виде полноценного курса от А до Я), и которому я буду надоедать со своими вопросами по поводу каждой запятой в ВБА. Было бы неплохо, имхо, сделать рассылку с полезняшками, чтобы не давать подписчикам забыть про себя. В ютюбе слишком многое случается за один день, физически просмотреть всё, что хочешь, ну никак нельзя, тем более человеку, который работает с 9 до 6, пять дней в неделю. Поэтому надо как-то напоминать людям о себе, задействовать доп.каналы. Рассылки на почту раз в неделю, телеграм, если нет времени сделать и вести сайт , то хотя бы ВК, инстаграмм тоже очень живой, можно оттуда заинтересовать, и привлечь на ютюб. есть ещё пару мыслей, но как-то неформатно писать об этом в комментах, это так сказать вне рамок рассматриваемого урока.
Очень интересно. Спасибо большое! Можно вопрос: можно ли экспортировать данные из окна locals window vba на лист Excel чтобы изучить взаимосвязи и иерархию свойств? Например объявить переменную Excel.Workbooks получить на locals window vba значения и экспортировать на лист. Заранее спасибо!
Здравствуйте, Севак! Большое спасибо за интересный вопрос! К сожалению, я не смог найти решения в рамках использования лишь VBA. При этом, интересным фактом является то, что отдельные пункты в Locals Window можно вручную копировать (ПКМ-Copy) и затем вставлять в ячейки на рабочем листе самого Excel. Из этого, возможно, можно предположить, что автоматизированный экспорт всех значений из окна Locals так же возможен (но, вероятно, уже при выходе за рамки использования лишь VBA). Но это лишь предположение. Если Вы найдёте вариант решения данной задачи, буду рад услышать его 😊 Хороших Вам выходных, Севак! 😊 С уважением, Билял
Здравствуйте, Дарья! Конечно возможно! 😊 Если Вы имели ввиду Watches Window - то просто добавляете в него нужный Вам массив. Рядом с Watch Вашего массива будет иметься значок плюса - нажав на него Вы раскроете весь массив и сможете посмотреть отдельное содержимое каждой его отдельной ячейки 😊 С уважением, Билял
Здравствуйте! Большое спасибо за Ваш комментарий! Эх, Вы сейчас подметили очень важный пункт, который мне теперь тоже сильно режет глаз :D Но, поверьте, это произошло случайно, из-за торопливости - грубо говоря, быстро писал и не доглядел ошибку. Очень, конечно, жаль, что подобные ошибки видеозапись не прощает и не позволяет в позднейшем исправить. Но да ладно, думаю зрители поймут ситуацию 😊 С уважением, Билял
Здравствуйте. Познаю азы с помощью Вашего канала. Ваша легкая форма изложения стала для меня "ледоколом" и я пока в общем (надеюсь не на долго) уже начинаю понимать происходящие процессы. Дошёл до этого видео и очень хочу с помощью него понять один макрос (да в принципе вообще научиться их понимать по средствам Вашей методики) однако у меня возникает проблема постоянно вылетает ошибка. Я в этого макрос пытался вставить команду debag.print....., однако ничего не получается. Полагаю, что не учет какой-то важной детали. Прошу Вас помочь. Вот текст макроса Sub MakeRouteTable() Dim DeltaT#, DeltaS#, DeltaD#, NumSteps%, FirstRow%, LastRow% Const MINS_IN_ONE_STEP = 1 Application.ScreenUpdating = False FirstRow = ActiveCell.CurrentRegion.Rows(3).Row LastRow = ActiveCell.CurrentRegion.Rows.Count + FirstRow - 3 For i = 6 To 3 Step -1 'îïðåäåëÿåì ÷èñëî øàãîâ íà ïåðåãîíå NumSteps = Int((Cells(i, 2) - Cells(i - 1, 2)) * 24 * 60 / MINS_IN_ONE_STEP) 'âû÷èñëÿåì èçìåíåíèå êîîðäèíàò è âðåìåíè íà êàæäîì øàãå DeltaT = (Cells(i, 2) - Cells(i - 1, 2)) / (NumSteps + 1) DeltaS = (Cells(i, 3) - Cells(i - 1, 3)) / (NumSteps + 1) DeltaD = (Cells(i, 4) - Cells(i - 1, 4)) / (NumSteps + 1) 'çàïîëíÿåì ñòðîêè èíòåðâàëîâ ïî êàæäîìó ïåðåãîíó For j = 1 To NumSteps Rows(i).Insert Cells(i, 2) = Cells(i + 1, 2) - DeltaT Cells(i, 3) = Cells(i + 1, 3) - DeltaS Cells(i, 4) = Cells(i + 1, 4) - DeltaD Next j Next i End Sub
Здравствуйте, Герман! Полагаю, Вы работаете с Option Explicit. В таком случае Ваш макрос не запускается в первую очередь из-за того, что Вы забыли объявить переменные i и j, которые в дальнейшем используются в макросе. Соответственно, в области объявления переменных (в начале макроса) Вы должны объявить эти переменные, например, вот таким образом: Dim i As Long Dim j As Long Внесите эту поправку в Ваш код и посмотрите, будет ли программа в таком случае работать. Я попробовал запустить этот макрос на рандомных значениях для проверки. К сожалению, у меня данный макрос входит в бесконечный цикл и процедуру приходится вручную останавливать. Не знаю, в чём заключается точная задача Вашего макроса, поэтому это пока всё, чем я мог помочь - дальше Вы должны протестировать поправку на Вашем файле сами, и, возможно, внести дальнейшие поправки. В любом случае, если у Вас что-то будет не получаться и возникнут дальнейшие вопросы - смело пишите, разберёмся :) С уважением, ХБ
@@alekseychaykovskiy3963 макрос свою задачу выполняет на 5 (дробит время между станциями и дробит координаты). Я просто хочу через вспомогательные окна VBA научиться понимать в том числе и такие макросы🤷♂️
Неудачный пример с breakTrigger. Зачем добавлять значение в Watches, если breakpoint можно поставить прямо внутри if ? Лучше бы показал, что в breakpoint можно задавать логические, арифметические и иные выражения и отслеживать их результат, а не только значения переменных.
Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!
Здравствуйте, Андрей!
Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :)
С уважением и хорошего Вам дня,
ХБ
Как поставить 1000 лайков и столько же раз подписаться?))) Ну очень крутые уроки, замечательная подача материала! Автору - огромная благодарность!
Добрый вечер.Каждый раз ,новое интересное. Очень познавательный урок.
Здравствуйте, Сергей! Большое спасибо за комментарий, хорошего Вам дня :)
Очень хорошо объяснено. Есть ещё один вариант, который может быть удобней и проще, чем устанавливать триггер на watch через переменную, это команда Stop(особенно если в середине огромного кол-ва циклов что-то произошло и нет уверенности из-за какой переменной или значения и как вообще это могло случиться).
if +-=>< 'перечисляем как хочется наборы условий для паузы процедуры
Stop ' эта команда как и breakpoint остановит выполнение
end if
Поначалу очень смутили переменные для значений строки и столбца - долго не понимал что происходит! Разобрался - внимательнее надо слушать)) Спасибо, большое, как всегда очень здорово и познавательно! Самое интересное как всегда в конце!
Спасибо 👍🏻
Билял, тебе большое спасибо за этот урок, с тобой становится всё просто и понятно!
Жаль что в VBA нужно Debug.Print писать, чтобы выводилась проделка... в современных языках в консоли автоматически выводится. Это я к тому, что VBA можно было бы дальше развивать, делать более современным и мощным
Полезный урок. Лайк. Спасибо.
Спасибо за труд!
Круто! спасибо!
Не за что, рад помочь! :)
Не понимаю, почему так мало подписчиков. Контент на 5+. Есть один минус, в маркетинге - захотел я купить курс по вба, а ссылки в описании нет.
Здравствуйте, Рустам! Благодарю за Ваш комментарий!
Касательно малого количества подписчиков - проблема в том, что, несмотря на положительные отзывы аудитории и прочие, достаточно положительные статистические показатели канала, RUclips выводит видео с канала лишь в нижних строках результатов поиска. Соответственно, аудитория просто редко находит сами видео. Полагаю, это связано измененными алгоритмами поисковой машины RUclips (раньше, как я понимаю, аудиторию на RUclips было набрать гораздо проще и быстрее). При этом, если проследить за развитием аудитории у, в качестве примера, бьютиблогеров, просто удаляешься экспоненциальному росту базы подписчиков каналов с подобной тематикой. Думаю, это может быть связано с приоритетами RUclips касательно тематик видеоканалов. Но ничего страшного - я рад, что могу приносить пользу хотя бы тому количеству людей, что уже подписаны на мой канал - а со временем их станет, надеюсь, определенным образом больше.
Хотел Вас спросить касательно Вашей заметки о маркетинге - Вы имеете ввиду, что были бы готовы поддерживать развитие данного курса VBA в виде плейлиста на канале в форме добровольной оплаты (в стиле Краудфандинга)? Или же Вы имели ввиду, что для Вас были бы интересны дополнительные материалы к курсу с платным доступом?
С уважением,
ХБ
@@BilyalKhassenov ПО поводу курса, что я хотел сказать:
В любом видео по vba/excel, которое я нахожу для себя полезным, после просмотра я иду в описание ролика, где обычно есть ссылка на сайт автора, с его курсами. Сейчас я просто смотрю что есть на ютюб, и статьи в инете, потом хочу всё это привести в систему, и затем вывести на более высокий уровень. Соответственно буду искать человека, который может предложить системное решение (в виде полноценного курса от А до Я), и которому я буду надоедать со своими вопросами по поводу каждой запятой в ВБА.
Было бы неплохо, имхо, сделать рассылку с полезняшками, чтобы не давать подписчикам забыть про себя. В ютюбе слишком многое случается за один день, физически просмотреть всё, что хочешь, ну никак нельзя, тем более человеку, который работает с 9 до 6, пять дней в неделю. Поэтому надо как-то напоминать людям о себе, задействовать доп.каналы. Рассылки на почту раз в неделю, телеграм, если нет времени сделать и вести сайт , то хотя бы ВК, инстаграмм тоже очень живой, можно оттуда заинтересовать, и привлечь на ютюб.
есть ещё пару мыслей, но как-то неформатно писать об этом в комментах, это так сказать вне рамок рассматриваемого урока.
спс
Лет 10 на VBA программирую и пользоваться только locals незная о таком мощьном функционале watchers
спасибо
Добрый вечер, Алексей!
Большое спасибо за Ваш комментарий и с наступающим новым годом Вас! :)
С уважением,
ХБ
Молча лайк
Очень интересно. Спасибо большое!
Можно вопрос: можно ли экспортировать данные из окна locals window vba на лист Excel чтобы изучить взаимосвязи и иерархию свойств?
Например объявить переменную Excel.Workbooks получить на locals window vba значения и экспортировать на лист.
Заранее спасибо!
Здравствуйте, Севак!
Большое спасибо за интересный вопрос! К сожалению, я не смог найти решения в рамках использования лишь VBA. При этом, интересным фактом является то, что отдельные пункты в Locals Window можно вручную копировать (ПКМ-Copy) и затем вставлять в ячейки на рабочем листе самого Excel. Из этого, возможно, можно предположить, что автоматизированный экспорт всех значений из окна Locals так же возможен (но, вероятно, уже при выходе за рамки использования лишь VBA). Но это лишь предположение.
Если Вы найдёте вариант решения данной задачи, буду рад услышать его 😊
Хороших Вам выходных, Севак! 😊
С уважением,
Билял
кайф
можно ли узнавать "адрес" из значение динамического массива, который находится в цикле? как в одном из предыдущих уроков.
Здравствуйте, Дарья!
Конечно возможно! 😊
Если Вы имели ввиду Watches Window - то просто добавляете в него нужный Вам массив. Рядом с Watch Вашего массива будет иметься значок плюса - нажав на него Вы раскроете весь массив и сможете посмотреть отдельное содержимое каждой его отдельной ячейки 😊
С уважением,
Билял
Коммент ради раскрутки канала!
Пока не проработала урок вручную не поняла, зачем это нужно
Билял , спасибо за видео. Только фAрмат(см.комментарии) резал глаза. В остальном всё достойно.
Здравствуйте!
Большое спасибо за Ваш комментарий!
Эх, Вы сейчас подметили очень важный пункт, который мне теперь тоже сильно режет глаз :D
Но, поверьте, это произошло случайно, из-за торопливости - грубо говоря, быстро писал и не доглядел ошибку. Очень, конечно, жаль, что подобные ошибки видеозапись не прощает и не позволяет в позднейшем исправить. Но да ладно, думаю зрители поймут ситуацию 😊
С уважением,
Билял
@@BilyalKhassenov Ещё раз спасибо.
2021
Здравствуйте. Познаю азы с помощью Вашего канала. Ваша легкая форма изложения стала для меня "ледоколом" и я пока в общем (надеюсь не на долго) уже начинаю понимать происходящие процессы.
Дошёл до этого видео и очень хочу с помощью него понять один макрос (да в принципе вообще научиться их понимать по средствам Вашей методики) однако у меня возникает проблема постоянно вылетает ошибка. Я в этого макрос пытался вставить команду debag.print....., однако ничего не получается.
Полагаю, что не учет какой-то важной детали. Прошу Вас помочь.
Вот текст макроса
Sub MakeRouteTable()
Dim DeltaT#, DeltaS#, DeltaD#, NumSteps%, FirstRow%, LastRow%
Const MINS_IN_ONE_STEP = 1
Application.ScreenUpdating = False
FirstRow = ActiveCell.CurrentRegion.Rows(3).Row
LastRow = ActiveCell.CurrentRegion.Rows.Count + FirstRow - 3
For i = 6 To 3 Step -1
'îïðåäåëÿåì ÷èñëî øàãîâ íà ïåðåãîíå
NumSteps = Int((Cells(i, 2) - Cells(i - 1, 2)) * 24 * 60 / MINS_IN_ONE_STEP)
'âû÷èñëÿåì èçìåíåíèå êîîðäèíàò è âðåìåíè íà êàæäîì øàãå
DeltaT = (Cells(i, 2) - Cells(i - 1, 2)) / (NumSteps + 1)
DeltaS = (Cells(i, 3) - Cells(i - 1, 3)) / (NumSteps + 1)
DeltaD = (Cells(i, 4) - Cells(i - 1, 4)) / (NumSteps + 1)
'çàïîëíÿåì ñòðîêè èíòåðâàëîâ ïî êàæäîìó ïåðåãîíó
For j = 1 To NumSteps
Rows(i).Insert
Cells(i, 2) = Cells(i + 1, 2) - DeltaT
Cells(i, 3) = Cells(i + 1, 3) - DeltaS
Cells(i, 4) = Cells(i + 1, 4) - DeltaD
Next j
Next i
End Sub
окно Locals дает информацию, а вот применяя приемы из видео пока не получается получать информацию из окон Ivvediate и Watches
Скидывай файл с примером (в котором возникает ошибка).
Здравствуйте, Герман!
Полагаю, Вы работаете с Option Explicit. В таком случае Ваш макрос не запускается в первую очередь из-за того, что Вы забыли объявить переменные i и j, которые в дальнейшем используются в макросе. Соответственно, в области объявления переменных (в начале макроса) Вы должны объявить эти переменные, например, вот таким образом:
Dim i As Long
Dim j As Long
Внесите эту поправку в Ваш код и посмотрите, будет ли программа в таком случае работать. Я попробовал запустить этот макрос на рандомных значениях для проверки. К сожалению, у меня данный макрос входит в бесконечный цикл и процедуру приходится вручную останавливать. Не знаю, в чём заключается точная задача Вашего макроса, поэтому это пока всё, чем я мог помочь - дальше Вы должны протестировать поправку на Вашем файле сами, и, возможно, внести дальнейшие поправки.
В любом случае, если у Вас что-то будет не получаться и возникнут дальнейшие вопросы - смело пишите, разберёмся :)
С уважением,
ХБ
@@alekseychaykovskiy3963 drive.google.com/file/d/146yqjlp7ati2hrLoHvOfyNSpnC16-MIv/view?usp=drivesdk
@@alekseychaykovskiy3963 макрос свою задачу выполняет на 5 (дробит время между станциями и дробит координаты). Я просто хочу через вспомогательные окна VBA научиться понимать в том числе и такие макросы🤷♂️
В конце видео,где символ лайка, что это за звук?! Вертится на языке, а не помню....
upd:. Нашел,это из mortal kombat, toasty
Неудачный пример с breakTrigger. Зачем добавлять значение в Watches, если breakpoint можно поставить прямо внутри if ? Лучше бы показал, что в breakpoint можно задавать логические, арифметические и иные выражения и отслеживать их результат, а не только значения переменных.