For и For Each (Серия VBA 8)

  Рет қаралды 54,310

Билял Хасенов – Excel, VBA & More

Билял Хасенов – Excel, VBA & More

Күн бұрын

Пікірлер: 58
@АндрейЛесников-з8ч
@АндрейЛесников-з8ч 5 жыл бұрын
Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
Здравствуйте, Андрей! Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :) С уважением и хорошего Вам дня, ХБ
@IbragimChumakov
@IbragimChumakov 2 жыл бұрын
09:20 "... порядок такой же, как мы с вами читаем книгу..." - это лучшее объяснение, что я слышал. 5 баллов!
@Bah1918
@Bah1918 6 жыл бұрын
Добрый вечер.Спасибо ,что откликнулись.Ваши уроки действительно очень доступны.Начал понимать то чего раньше не мог понять.СПАСИБО!
@BilyalKhassenov
@BilyalKhassenov 6 жыл бұрын
То, что Вы написали, Сергей, и является для меня главным стимулом к созданию видеоуроков. Очень рад, что смог помочь Вам, хорошего дня! :)
@АлександрФилиппов-щ7ю
@АлександрФилиппов-щ7ю 5 жыл бұрын
Отличный урок, наверное это самые лучшие уроки на KZbin!
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
Здравствуйте, Александр! Большое спасибо за Ваш комментарий! Хорошего Вам воскресенья! :) С уважением, ХБ
@SurfaceGoogle
@SurfaceGoogle 5 жыл бұрын
Здравствуйте. Спасибо за курс по vba. Гораздо понятнее, чем читать книги по данной тематике. Крутые видео! без лишнего, звук хороший. Вы молодец.
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
Здравствуйте, Сергей! Большое спасибо за Ваш комментарий! Очень рад, что видеоуроки Вам нравятся и полезны, буду держать их качество на уровне. Хороших Вам выходных, Сергей! :) С уважением ХБ
@СергейВавенко-б6х
@СергейВавенко-б6х 3 жыл бұрын
Поищите еще в инете ряд Надстроек чужих - там часто исходный код не закрыт, можно почитать, подчерпнуть для себя многое.
@artemdiaz8212
@artemdiaz8212 2 жыл бұрын
По-мрему самый лучший курс по VBA. Все очень доходчиво и мало ненужной инфы. Спасибо!
@АлексейСоков-ь8и
@АлексейСоков-ь8и 3 жыл бұрын
Я в восторге от этих уроков. Трудно даже представить более успешный и эффективный формат видеобучения по VBA. Моё почтение! 🧐
@Bah1918
@Bah1918 6 жыл бұрын
Все понятно и поучительно.Спасибо за уроки.
@BilyalKhassenov
@BilyalKhassenov 6 жыл бұрын
Здравствуйте, Сергей! Очень рад, что Вам понравилось. На следующей неделе постараюсь снять следующий урок из серии о VBA. Если у Вас есть какие-либо вопросы/пожелания, можете смело писать. И с новым годом Вас, всего самого лучшего! :)
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov 3 жыл бұрын
Благодарю! Всё попробовал повторить - всё понял, освоил. Отличное изложение материала!
@ИринаЯшина-ц1н
@ИринаЯшина-ц1н 5 жыл бұрын
Очень жалею, что не увидел раньше ваши видео. Отдельное спасибо за msgbox, очень наглядно, когда только начинал осваивать vba постоянно пользовался им
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
Здравствуйте! Большое спасибо за Ваш комментарий! Очень рад, что видео Вам понравились :) Если будут какие-либо вопросы - всегда обращайтесь :) С уважением, Билял
@ИванМинеев-р6э
@ИванМинеев-р6э 3 жыл бұрын
Спасибо! Всё ясно и понятно!
@ВероникаБарбышова
@ВероникаБарбышова 3 жыл бұрын
Спасибо, очень полезно!
@VCHky
@VCHky 4 жыл бұрын
Как только ты сказал For я тут же представил i. Это магия ))
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте! Вот-вот! Это как раз то, что я и имел ввиду под «интуицией» программирования в ответе на Ваш предыдущий комментарий 😊 С уважением, Билял
@sergoa.8849
@sergoa.8849 2 жыл бұрын
Отлично!!! 5+
@ortah3759
@ortah3759 4 жыл бұрын
Большое спасибо!
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Ortah! Всегда пожалуйста, рад помочь 😊 С уважением, Билял
@immanvahidovna8566
@immanvahidovna8566 4 жыл бұрын
@@BilyalKhassenov Добрый день! Пожалуйста скажите где я в коде допустила ошибку... Мне это очень важно... Задача- Вычислить заданное целочисленное выражение для данных a, b в формате double, используя оператор if. Исходные данные и результат должны проверяться на область допустимых значений. Для решения задачи разработать функцию.тут еще система только я не смогла ее написать Function z2(a2 As Double, b1 As Double) As Double If a2 > b1 Then x = a2 * b1 - 3 ElseIf a2 = b1 Then x = 2 Else x = (a2 ^ 3 + 1) / b1 End If End Function Sub ВЫПОЛНИТЬ() Dim n As Integer n = Cells(2, 5).Value Select Case n Case 2 'решение задачи 2 Dim a2 As Double Dim b1 As Double If Cells(5, 8).Value "" Then a2 = Cells(5, 8).Value Else Cells(5, 8).Value a2 = 0 End If If Cells(6, 8).Value "" Then b1 = Cells(6, 8).Value Else Cells(6, 8).Value b1 = 0 End If Cells(8, 10).Value = z2(a2, b1)
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
@@immanvahidovna8566 Здравствуйте, Имман! Функция не работала, потому итоги вычислений «не вписывались» в неё: нужно было вместо x вписывать z2. Я точно не знаю поставленную перед Вами задачу и как выглядит Ваш рабочий лист, поэтому немного на уровне интуиции сделал следующие поправки. Попробуйте, надеюсь этот код поможет Вам: Function z2(a2 As Double, b1 As Double) As Double If a2 > b1 Then z2 = a2 * b1 - 3 ElseIf a2 = b1 Then z2 = 2 Else z2 = (a2 ^ 3 + 1) / b1 End If End Function Sub ВЫПОЛНИТЬ() Dim n As Integer n = Cells(2, 5).Value Select Case n Case 2 'решение задачи 2 Dim a2 As Double Dim b1 As Double If Cells(5, 8).Value "" Then a2 = Cells(5, 8).Value Else 'Cells(5, 8).Value 'Лишнее a2 = 0 End If If Cells(6, 8).Value "" Then b1 = Cells(6, 8).Value Else 'Cells(6, 8).Value 'Лишнее b1 = 0 End If End Select Cells(8, 10).Value = z2(a2, b1) End Sub Узнать больше о темах функций и конструкции Select Case Вы можете в следующих видео: kzbin.info/www/bejne/bHK3mZiapb2Fbc0 kzbin.info/www/bejne/a3OVZZuBep1onsU С уважением, Билял
@immanvahidovna8566
@immanvahidovna8566 4 жыл бұрын
Билял Хасенов - Excel & VBA спасибо большое)
@АлександрЕгоров-щ8ъ
@АлександрЕгоров-щ8ъ 4 жыл бұрын
Я обычно смотрю ( как и встречают по одёжке) на картинку. Вижу какой то парень слащявый (Извиняюсь =) ). Ну думаю, давай расскажи какой ты там 10 лет разработчик, профессионал по VBA и т.д. Начал смотреть. Просто супер человек!!!! По делу, качественно, без всяких ооо, эээ, сейчас поправлю и тому подобное. Успехов, здоровья и всего самого хорошего!!!!!!!!! P.S. Еще бы Ваши видео по Word. Там как я понял там сложнее и больше отличий. Или я ошибаюсь?!
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Александр! Спасибо за Ваш комментарий - улыбнуло 😊 Рад что видеоуроки Вам понравились 😊 Как-нибудь я обязательно постараюсь снять видео по работе с VBA в Word - там и вправду есть некоторые особенности. Кроме того, постараюсь также рассказать и о комбинации Excel-Word-VBA. Правда, пока, к сожалению, не могу сказать, когда бы видео на подобную тему могли бы выйти. С уважением и хороших Вам выходных, Билял
@АлександрЕгоров-щ8ъ
@АлександрЕгоров-щ8ъ 4 жыл бұрын
@@BilyalKhassenov =) Если бы Вы сняли, так же как и про Exel - цены бы Вам не было. Ну главная мотивация - деньги. И к сожалению мало людей, кому интересно VBA (для Exel и Word). Многие проблемы решаются руками. Но когда сталкиваешься где без VBA не обойтись, начинаешь лезть на офф. Microsoft в документацию. Но там такая документация, будто пьяный человек просто тыкал по клавиатуре. Может какую нибудь группу или канал создать про Word VBA, собрать людей которым это интересно, собрать с людей копеечку (в умеренном кол-ве =) ) Будет и полезно и Вам мотивация! Но! К сожалению люди буду все равно искать бесплатно...
@alekseychaykovskiy3963
@alekseychaykovskiy3963 5 жыл бұрын
Спасибо
@captain_swan
@captain_swan 5 жыл бұрын
Добрый день! А как будет выглядеть код если добавлять нумерованные значения в таблицу? Спасибо 🙏🏻
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
Здравствуйте, Captain Swan! Опишите, пожалуйста, поконкретнее ситуацию, и мы с Вам вместе разберемся, как лучше написать код для Вас :) С уважением, ХБ
@captain_swan
@captain_swan 5 жыл бұрын
Эффективнее! Bill K. Спасибо что ответили! Необходимо при добавлении записи в таблицу через форму нумеровать ее!
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
​@@captain_swan, здравствуйте! Можно, конечно, по-разному решить эту задачу. Вот самый простой вариант (возможно, Вам придётся немного поправить его под себя): 1. Создайте UserForm и вставьте в неё TextBox и CommandButton (не меняя стандартных названий, т.е. TextBox1 и CommandButton1). Название UserForm так же оставьте стандартным. 2. Целиком скопируйте и вставьте этот код в модуль UserForm: Option Explicit Private Sub CommandButton1_Click() ' Это - процедура для Userform, которая вносит пронумерованные записи в базу данных. ' В форме, по условию, есть TextBox1, в который пользователь вписывает нужно значение, ' а также кнопка CommandButton1 - которая вносит указанное значение пронумерованным в базу данных. ' База данных находится на листе 1. Столбец A - Номер записи, Столбец B - Запись ' База данных должна иметь заголовки Dim lastRowInDatabase As Long ' Переменная для сохранения последней использованной строки в базе данных Dim lastRecordNumber As Long ' Переменная для сохранения номера последней записи в базе даных lastRowInDatabase = ThisWorkbook.Worksheets(1).Range("A" & ThisWorkbook.Worksheets(1).Rows.Count).End(xlUp).Row lastRecordNumber = ThisWorkbook.Worksheets(1).Range("A" & lastRowInDatabase) ThisWorkbook.Worksheets(1).Range("A" & lastRowInDatabase + 1) = lastRecordNumber + 1 'Внесение номера текущей записи ThisWorkbook.Worksheets(1).Range("B" & lastRowInDatabase + 1) = TextBox1 'Внесение содержания текущей записи End Sub Как говорилось, это самый простой вариант решения задачи. Мы еще, к сожалению, не дошли до изучения UserForms, поэтому на канале нет видео на эту тему. Надеюсь, смог Вам помочь. Если что, пишите :) С уважением, ХБ P.S. Я решил просто загрузить файл с прописанными выше действиями, чтобы Вам можно было быстрее и легче его посмотреть. Скачать файл можете по этой ссылке: drive.google.com/file/d/1KaQ5niiLLeqKr6agpEfLkGmUgzKNYUxf/view?usp=sharing Удачи! :)
@captain_swan
@captain_swan 5 жыл бұрын
Спасибо большое за уделённое время и за очень подробный ответ!!! Все получилось! 1000 лайков и 🍋подписчиков Вам!!!
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
@@captain_swan Добрый день! Рад помочь :) Как уже говорилось, это наипростейшее решение. Обязательно посмотрите серии по UserForms (когда они появятся на канале), чтобы усовершенствовать своё решение :) С уважением, ХБ
@aidarv8845
@aidarv8845 3 жыл бұрын
Спасибо большое за вашу работу. Начал вместе с вами изучать VBA. Я все вами показываемые макросы пробую на практике. Для удобства я их сохраняю в Личной книге макросов. Но часть макросов после сохранения в Личной книге макросов не запускаются, а если макрос сохранить прямо в книге, например, Лист1, то все работает.
@СергейВавенко-б6х
@СергейВавенко-б6х 3 жыл бұрын
Возможно, это связано с ThisWorkbook. Сохранив макрос в личной книге с командой ThisWorkbook.... Вы его не запустите для работы в другой книге. Или замените на Activebook, или используйте обьектные переменные.
@ГерманРыков-ъ6в
@ГерманРыков-ъ6в 5 жыл бұрын
Не совсем понял разницу двух переменных, но примеры очень понятны и поэтому буду действовать по аналогии
@BilyalKhassenov
@BilyalKhassenov 5 жыл бұрын
Здравствуйте, Герман! Если в какой-либо из Ваших задач что-то будет не получатся, можете смело писать в комментарии/обсуждения на канале. Посмотрим вместе, разберемся :) С уважением и хорошего Вам вечера, ХБ
@denial3874
@denial3874 3 жыл бұрын
Билял Хасенов - Excel, VBA & More: Скажите пожалуйста а как перебрать диапазон с конца в начало ?
@давидмаргарян-ю1ч
@давидмаргарян-ю1ч 4 жыл бұрын
странно cells выдает ошибку run time eerror,а c Range все работает,может старая версия? из-за этого?!
@linnanan
@linnanan 2 жыл бұрын
Вероятно вы по привычке сделали цикл с 0, а cells принимает от 1.
@alexanderzinker4261
@alexanderzinker4261 3 жыл бұрын
Привет Билял. Спасибо за For each. Я все время пользовался For To, даже когда нужно было исследовать каждую ячейку в определенной области. Я проходил эту область с For To и двумя переменными по столбцам и строкам. А сейчас я написал макрос с For each, который проходит по всем листам книги (54 листа) и в каждом листе по ячейкам в Range(“B8:E52“) -138 ячеек на Value=0 Then ClearContents. Процес длится 10 мин. Это нормально, или что-то не в порядке?
@ramilz772
@ramilz772 5 жыл бұрын
Привет! Все интересно и подробно, но не уловил в чем разница циклов.
@alekseychaykovskiy3963
@alekseychaykovskiy3963 5 жыл бұрын
Привет. Начни писать реальные проекты, тогда все поймешь. Цикл For .. Next - это основной цикл, чаще всего используется в работе. Используется, когда можешь определить границы цикла. Например, пробежаться по строкам и выполнить определенные действия: удалить строки по определенному критерию (цикл выполняется в обратном порядке), присвоить значения ячейкам (например, пронумеровать) и т.д. For Each - удобный цикл для работы с объектами, коллекциями, массивами, диапазонами данных.
@Jorjio_777
@Jorjio_777 4 жыл бұрын
VBA с Word вы не разбирали ?
@ishtaurbin
@ishtaurbin 5 ай бұрын
Немного не понял, как в первом цикле FOR комп понял что надо прибавлять по единице если нету i = i + 1
@kuuraga
@kuuraga 27 күн бұрын
Цикл For по дефолту прибавляет единичку к счетчику на каждой итерации. Если требуется шаг, отличный от 1 - его нужно указать (в т.ч. он может быть и отрицательным). Например: For i = 2 to 1 step -0.1 Next
@user-en8ko2vd1k
@user-en8ko2vd1k 2 жыл бұрын
15 сен 2022
@Dima_Melnikov
@Dima_Melnikov 2 жыл бұрын
Слушаю на 0,75.
@meldanify
@meldanify 2 жыл бұрын
Я не знаю, есть ли тут кто-то: подскажите, только у меня не работает Continue For в цикле For Each?
@yellowmoonishka1725
@yellowmoonishka1725 10 ай бұрын
ths
IF - Как работают условия в VBA (Серия VBA 9)
15:01
Билял Хасенов – Excel, VBA & More
Рет қаралды 52 М.
Цикл For … Next - Новый курс VBA (8)
18:59
Билял Хасенов – Excel, VBA & More
Рет қаралды 28 М.
Every team from the Bracket Buster! Who ya got? 😏
0:53
FailArmy Shorts
Рет қаралды 13 МЛН
Arrays VBA - Одна переменная для множества значений! - (Серия VBA 12)
12:34
Билял Хасенов – Excel, VBA & More
Рет қаралды 44 М.
On Error Resume vs. GoTo и работа с ошибками (Серия VBA 36)
21:23
Билял Хасенов – Excel, VBA & More
Рет қаралды 11 М.
Великовозрастный программист. Стоит ли идти в IT в 40 лет
8:17
Дилетант широкого профиля
Рет қаралды 18 М.
How to unlock protected VBA-project in Excel?
6:37
DD LifeHack
Рет қаралды 28 М.
Цикл Do Loop (While/Until) - (Серия VBA 10)
15:13
Билял Хасенов – Excel, VBA & More
Рет қаралды 47 М.