Супер! Сам давно автоматизирую выполнение задач в приложениях Office на VBA и участвую на многих тематических форумах , однако с удовольствием просмотрел на досуге этот ролик. Очень хорошо и доступно автор разъясняет. Приятно слушать. Особенно порадовало то, что в отличие от большинства гуру VBA, автор рекомендует использовать Option Explicit в декларациях модуля. Это очень важно для новичков. Требование определения переменных позволяет легче обнаружить ошибки кода и опечатки при вводе имён переменных.
@Serega_Zaicev4 жыл бұрын
прогресс на лицо, в первой части курса тоже было не плохо , но тут живые примеры и их разборы, то чего так не хватало в первом курсе, в целом 3 урок нового курса очень радует да и ролики заметно по времени стали больше и подача материала очень классная и доходчивая
@vidosbaying4 жыл бұрын
Объявил переменную только для L3 и остальное все влезло в одну строку MsgBox. Наверное такое решение с массой переменных подходит для большого количества кода, а здесь на мой взгляд очень избыточно. Многое знаю и умею, но Биляла смотрю с удовольствием. Спасибо за такой формат уроков!
@ppr81174 жыл бұрын
Согласен! Но последние примеры в видео не на русском... Что-то, видимо, поменялось...
@mrkalinin75333 жыл бұрын
5 часов до дедлайна,все круто по материалу,добра автору!
@babunv23 жыл бұрын
Картинки для ассоциаций это прям лайк
@semforever19792 жыл бұрын
Получил огромное удовольствие! Спасибо!
@alexgnite Жыл бұрын
Когда решал задание, как-то не додумался, что я могу добавить переменные, использующие значения уже существующих 😅. В итоге я решил задачу через одну переменную и уже в самом MessegeBox'е через "Range" прописал где какой брать столбик. В итоге весь код уместил в читаемые 6 (+2 sub, end sub) строки. Но, признаю, хоть ваш код и огромный, но всё же гораздо лучше для понимания, чем то, что вышло у меня
@abdulfarid894 жыл бұрын
Отличные уроки! Ждем новые! Очень ждем)
@nurlanmgn3 жыл бұрын
Почему в универе так не преподают!?!??!?! Спасибо за простую подачу!!!!
@werttyrus89663 жыл бұрын
Это лучший курс!
@ОльгаЯремчук-л2в3 жыл бұрын
Отличная задача, спасибо за труд)
@SamSambl44 жыл бұрын
Спасибо за трудъ!
@ВиленДаутов3 жыл бұрын
Отличный урок! Решение понял сразу вот только было проблема вписать адрес строки в переменных
@maretarshakyan62494 жыл бұрын
Спасибо, отлично, молодец
@Juk4542 жыл бұрын
&-этот знак называется амперсанд, а конкатенация это операция, которую он выполняет ("склеивание")
@Badalaman3 жыл бұрын
Билял, огромное спасибо!
@Kavalergrad12 ай бұрын
Спасибо за урок
@ПШОДПОДПИШИСЬ5 ай бұрын
Думаю еще стоило учесть, что нумерация по таблице смещена на 3 ячейки
@timopheysafonov26493 жыл бұрын
Установлен Exel 2013 года, VBA выдает ошибку : "Method 'Range' of object' _ Global' failed и указывает на строку макроса: strcustomername = Range("D" & introwindex). Как устранить данную ошибку?
@Maks_Morkovkin3 жыл бұрын
Спасибо. Очень круто. Я сделал иначе, более громоздко. Кстати, у Вас ошибка :) Надо было в itnКowIndex +3 задать :) Но смысл не меняется. Только вот Вы даете задание с использованием того, о чем не говорили. Я про кнопку, пробел для переноса строки кода, и и Vbnewline для переноса строки в сообщении. Это намеренно делается, что бы сами поискали?
@semforever19792 жыл бұрын
Смысл в том, чтобы у зрителя алгоритм выполнения в голове нарисовался. Если это есть, то детали (как кнопку вывести, как сделать, чтобы введенное число совпадало с табличной строкой) добавить - раз плюнуть.
@MrActiBif Жыл бұрын
Comme on dit par chez nous, merci :)
@karineminasyan6873 жыл бұрын
Огромное спасибо
@thanekrios4431 Жыл бұрын
У кого ошибка "Variable not difinded" ? Подскажите, пожалуйста, как исправить ?
@ЛеонидМахов-е7м2 жыл бұрын
При идентичном коде как у автора вылезает "runtime error 1004 method range of object global failed", при нажатии на Debug указывает строку: "strCustomerName = Range("C" & intRowIndex)" Может кто сталкивался?
@МаксМаксМакс-н9у Жыл бұрын
тоже самое, не подскажите как решили данную проблему?
@АмалияАхметова-с9в Жыл бұрын
@@МаксМаксМакс-н9у , и у меня. Не подскажите, как решили?
@tassotasso108010 ай бұрын
Кому еще актуально: 1) проверьте, как объявили соотв.переменные. Возможно, сослались не на тот столбец таблички (там имена покупателей в столбце D, а не С). Также по типам переменных, strCustomerName должна быть String, intRowIndex - Integer В коде это будет выглядеть так: Dim intRowIndex As Integer intRowIndex = Range("L3") Dim strCustomerName As String strCustomerName = Range("D" & intRowIndex ) 2) Если это не помогает, и упорно не хочет присваивать значение переменной, то попробуйте закомментить в самом начале кода Option Explicit. У меня не присваивалось значение переменной quantity, хотя и тип ставила Long, как в видео, и ссылка на диапазон правильная. При убирании Option Explicit - все заработало с тем же самым кодом.
@СергейГоликов-к3ю2 жыл бұрын
А не лучше так? intRowIndex = Range("L3") + 3
@СергейЩепилин Жыл бұрын
заслуживает доната
@Александра-ю1п9и2 жыл бұрын
Ругается на тип данных значения переменной-номера строки: выдает ошибку 13. Кто-нибудь сталкивался с ошибкой?
@scorp_072 жыл бұрын
У меня можно сказать продвинутый уровень, но для меня сложновато. Несмотря на то, что немного понимаю в SQL
@ЕвгенийСергеев-ь5д3 жыл бұрын
А зачем vbnewline? Можно ведь и с помощью Chr(10) или Chr(13) разбивать строки (если мне не изменяет мой склероз)
@NovichkovPavel3Run4 жыл бұрын
VBA типы данных
@ilkezavr3 жыл бұрын
спасибо!
@xaycxep4 жыл бұрын
Пожалуйста, укажи свою почту по которой с тобой можно будет связаться
@vladimird41953 жыл бұрын
Не получается пишет неправильный синтаксис в msgbox. Вся строка strMassageToDisplay красная. Набирал строку по видео.
@allakhapilova9792 Жыл бұрын
попробуйте убрать перенос строки strMessageToDisplay = strCustomer & " ordered " & lngQuantity & " " & strProduct & "s. " & "The order's discount in Euro is: " & dblDiscount & ". The order's final amount in Euro is: " & dblAmount
@allakhapilova9792 Жыл бұрын
единственно, вставьте свои переменные.
@alexnu3316 Жыл бұрын
А почему кнопки нет?
@alexnu3316 Жыл бұрын
черт, где же у него кнопка?..
@Домснешка2 жыл бұрын
Почему макрос не выводит числа у меня ? Sub soult() Dim str1 As String Dim lng2 As Long Dim str3 As String Dim bld4 As Double Dim bld5 As Double Dim int6 As Integer Dim int7 As String int6 = Range("L3") 'ñîõðàíåíèå èíäåêñà ñòðîêè â ïåðåìåííîé str1 = Range("D" & int6) str2 = Range("G" & int6) str3 = Range("E" & int6) str4 = Range("I" & int6) str5 = Range("J" & int6) 'îáúåäèíåíèå ïîñëàíèÿ int7 = str1 & " èçìåëü÷åííûé " & lng2 & " " _ & str3 & "s" & vbNewLine _ & " ñêèäêà íà çàêàç â åâðî ðàâíî: " & bld4 & vbNewLine _ & " îêîí÷àòåëüíàÿ ñóììà çàêàçà â åâðî ðàâíî: " & bld5 'óäàëåíèå ñîîáùåíèÿ MsgBox int7 End Sub
@vladimird41953 жыл бұрын
и в Insert office 2007 нет кнопки
@izzatjonumarov75514 жыл бұрын
у меня выходит ошибка при присваивании результата. Автор можете помочь?
@ВаняНикифоров-п6л3 жыл бұрын
Я просто не знаю как в MsgBox перейти на следующую строчку. Поэтому получилось только в ряд всё написать 😔
@evaldasulevicius94063 жыл бұрын
Sub taskSolution() MsgBox "TEST" & Chr(13) & " Go To 2!" End Sub
@АнатолийХимей3 ай бұрын
Урок супер, але є 2 але. 1. про команду кнопки не було мови, і 2 - про константи "абзац" теж нічого не згадувалось.
@alex-em4em Жыл бұрын
ГОТОВО
@KazakhKazakhstan85 Жыл бұрын
Нет Билял без обид говоришь ну слишком быстро! Пусть ролик будет длинным но зато не спеша, а так приходиться прокручивать каждый раз
@Dmitrijs.Skorohodovs Жыл бұрын
В общем, не знаю почему, но у меня просто отказывается читать Product name. Вместо содержимого ячейки, просто вставляет E5 . В чем может быть ошибка?.. Dim strCustomerName As String Dim LngQuantity As Long Dim strProductname As String Dim dmlDiscount As Double Dim dblAmount As Double Dim intRowIndex As Integer Dim strMessageToDisplay As String intRowIndex = Range("L3") 'Saving the row's index the variable' strCustomerName = Range("D" & intRowIndex) LngQuantity = Range("G" & intRowIndex) strProductname = ("E" & intRowIndex) dmlDiscount = Range("I" & intRowIndex) dblAmount = Range("J" & intRowIndex) 'Combining the message' strMessageToDisplay = strCustomerName & " ordered " & LngQuantity & " " & strProductname & " " & "s" & vbNewLine _ & "The order's discount in Euro is: " & dmlDiscount & vbNewLine _ & "The order's final amount in Euro is: " & dblAmount
@tassotasso108010 ай бұрын
В присвоении переменной Productname пропущено Range. Поэтому и просто вставляет E5.
@Serega_Zaicev4 жыл бұрын
Dim main1 As Variant Dim main2 As Variant main1 = ThisWorkbook.Worksheets("Лист1").Range("f1") If main1 = Range("A1:A8") Then main2 = ActiveCell.Row MsgBox main2 что я не так делаю задаю 2 переменные, 1 переменная в "F1" вписан нужный мне товар и я хочу узнать индекс из столбца "A1:A8" с названиями товаров нужный мне и вывести номер строки нужного мне товара во второй переменной
@NovichkovPavel3Run4 жыл бұрын
VBA
@NovichkovPavel3Run4 жыл бұрын
VBA переменные
@tapacmop3e8212 жыл бұрын
Работаю с числами в текстовом формате A1:A7 - текстовый формат (левое расположение в ячейке) 0011 0 203 100 ... Для переменной t1 объявляю String и задаю значение "0000" Dim t1$ t1 = "00000" теперь мне надо t1 соединить с А1 t1=t1 & Cells(1,1) должно получиться "00000011" но ячейка отображает "11"
@Gri6o4eg2 жыл бұрын
У меня нет кнопки "Go"😡
@Gri6o4eg2 жыл бұрын
У меня нет кнопки "Go"
@ГлебВалерьевич-у6ы3 жыл бұрын
Не знал, что можно сразу вписывать значения в диапазон ячеек, поэтому сделал так: Sub Button1_Click() Dim intCellValue As Integer intCellValue = Range("L3") Dim strCustomer As String strCustomer = "D" & intCellValue Dim strCustomerName As String strCustomerName = Range(strCustomer) Dim strCustomer2 As String strCustomer2 = "G" & intCellValue Dim strQuantity As String strQuantity = Range(strCustomer2) Dim strCustomer3 As String strCustomer3 = "E" & intCellValue Dim strProductName As String strProductName = Range(strCustomer3) Dim strCustomer4 As String strCustomer4 = "H" & intCellValue Dim strDiscount As String strDiscount = Range(strCustomer4) Dim strCustomer5 As String strCustomer5 = "J" & intCellValue Dim strAmount As String strAmount = Range(strCustomer5) MsgBox strCustomerName & " ordered " & strQuantity & " " & strProductName & "s" _ & vbNewLine & "The order's discount in Euro is: " & strDiscount _ & vbNewLine & "The order's final amount in Euro is: " & strAmount End Sub
@xaycxep4 жыл бұрын
а как же Find?
@mikjan27283 жыл бұрын
Неужели непонятно, что когда Вы снимаете учебное видео, то переменные должны быть 1-2х буквенные, чтобы человек, который смотрит видео мог и за мыслью успевать и понимать что вы там пишете, а не искать соответствие в именах нескольких 20и буквенных переменных???
@sastry853 жыл бұрын
у него в приоритете англоязычные уроки. Для англоязычных людей там всё понятно. увы.
@papericco22742 жыл бұрын
Может вы просто поблагодарить его за бесплатные уроки, а не будете унижать себя публично, показывая свою глупость и безкультурие
@papericco22742 жыл бұрын
Вы сами в силах сделать переменные однобуквенными, а автор объяснял, зачет так заморачивается
@papericco22742 жыл бұрын
Из-за таких людей, как вы, многие и не хотят создавать что-то полезное бесплатно. А то сразу и критики найдутся, выплескивающие свое недовольство мелким члeнoм или недотраxoм в комментах
@papericco22742 жыл бұрын
Позор
@MrValentin18652 жыл бұрын
1. Размытость экрана; 2. Отдельным уроком нужно научить писать текст синтаксиса .
@fruitbanana94433 жыл бұрын
Бесит что все на английском
@timulnik3 жыл бұрын
Билял, добрый день. Очень хорошая подача, структура, последовательность, темп. Именно то, что так долго искал. Но честно говоря очень режет слух обращение на "ты". Вас же могут слушать самые разные люди.
Здравствуйте. Вы могли бы рассказать подробно об этой функции? Вы так хорошо объясняете. Комменты в функции есть, но все равно не могу понять ее полностью.. Функция сцепляет данные в ячейках по нескольким условиям. Function MergeIfs(TextRange As Range, SearchRange1 As Range, Condition1 As String, SearchRange2 As Range, Condition2 As String) Dim Delimeter As String, i As Long Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.) 'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой If SearchRange1.Count TextRange.Count Or SearchRange2.Count TextRange.Count Then MergeIfs = CVErr(xlErrRef) Exit Function End If 'проходим по все ячейкам, проверяем все условия и собираем текст в переменную OutText For i = 1 To SearchRange1.Cells.Count If SearchRange1.Cells(i) = Condition1 And SearchRange2.Cells(i) = Condition2 Then OutText = OutText & TextRange.Cells(i) & Delimeter End If Next i 'выводим результаты без последнего разделителя MergeIfs = Left(OutText, Len(OutText) - Len(Delimeter)) End Function
@baracuda.55332 жыл бұрын
Sub taskSolution() Dim tx1 As String Dim tx2 As String Dim tx3 As String Dim txX As String tx1 = Cells(Range("L3"), 4) & " ордер " & Cells(Range("L3"), 7) & " " & Cells(Range("L3"), 5) tx2 = "Скидка на заказ в евро составляет: " & Cells(Range("L3"), 9) tx3 = "Окончательная сумма заказа в евро составляет: " & Cells(Range("L3"), 10) txX = tx1 & vbCr & tx2 & vbCr & tx3 MsgBox txX End Sub
@alexeyvodovozov26672 жыл бұрын
Шикарный код. Но, думаю, автор спецом дает более низкий начальный уровень, чтоб развилось понимание. Вашим кодом с нуля не пишут.
@user-ye2mm6ov6li2 жыл бұрын
Шикарное видео. Отличный курс. Огромное вам спасибо