Господи, спасибо тебе за что я наконец таки нашел великолепный канал про VBA =)
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Роман! Очень рад что Вы вышли на мой канал - добро пожаловать :) Если будут какие-либо вопросы - всегда пишите :) С уважением и хороших Вам выходных, Билял
@khrom-h7j4 жыл бұрын
@@BilyalKhassenov а я то как рад! Большое спасибо за Ваш труд.
@BilyalKhassenov4 жыл бұрын
Всегда пожалуйста 😊
@limpopos81254 жыл бұрын
Билял, Спасибо тебе огромное! Как всегда все доступно, все по полочкам разложено! Успехов тебе! Хочется ещё видео про outlook, объектная модель, пространство имён и особенно интересно работа с адресными книгами
@BilyalKhassenov4 жыл бұрын
Здравствуйте, большое спасибо за Ваш комментарий! Рад, что мои видео полезны и помогают Вам. В дальнейшим обязательно уделю внимание интересующим Вас темам :) С уважением и хороших Вам выходных, Билял
@Kondrat4ek3 жыл бұрын
Спасибо за урок, все доходчиво и понятно. Сделал все без особых проблем, даже уже радостно становится, что получается так решать задачи) Даже себе на почту наспамил писем)
@alekseychaykovskiy39634 жыл бұрын
Спасибо, Билял
@АнтонБуренин-щ7ь3 жыл бұрын
Билял, огромное спасибо! Очень понравилось и содержание и подача материала, просто супер!
@Булатхр4 жыл бұрын
Спасибо большое за познавательные видео.
@abdulfarid894 жыл бұрын
Билял, спасибо за качественный материал!
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Фарид! Спасибо за Ваш комментарий 😊 С уважением и хороших Вам выходных, Билял
@djtroy65694 жыл бұрын
Спасибо!
@SamSambl44 жыл бұрын
Спасибо за труд!
@Евгений-10.114 жыл бұрын
Билял, Ваш постоянный подписчик снова с благодарностью и восхищением!!! Наиполезнейшая тема и наилучшее её обозрение! Вы умница и труженик! Безупречный доклад! Спасибо Вам! Как всегда, мой вопрос: как работать с программами, не относящимися к семейству Microsoft? Меня, например, интересует Автокад)) в совокупности с Excel (VBA)!
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Евгений! Большое спасибо за Ваш комментарий, рад, что видео было для Вас полезным 😊 На Ваш же вопрос, боюсь, к сожалению, невозможно ответить коротко. Единственное что могу сказать по взаимодействию автокада и VBA - это то, что редактор VBA по умолчанию не интегрирован в автокад, и его нужно догружать отдельным пакетом. Тем не менее это несложный процесс, и в принципе дальнейшее выстраивание взаимодействия автокада с VBA, при условии наличия знаний объектов автокада и их свойств, не должно быть проблематичным и производится по уже знакомым общим принципам работы в VBA. Возможно, когда-нибудь я постараюсь снять видео на подобную тему, но это скорее всего будет не скоро. Желаю Вам оставаться здоровым, Евгений, в текущей ситуации с коронавирусом! С уважением и хорошего Вам дня, Билял
@@BilyalKhassenov По-моему, VBA-редактор по умолчанию встроен в АвтоГад, по крайней мере, об это много где упоминается в интернете. За видео-уроки отдельное спасибо и жирный лайк. Ваша подача материала может служить примером для многих интернет-коучей :)
@Technik88884 жыл бұрын
Спасибо за полезные уроки! Может быть когда-нибудь снимите видео о том, как создать «Задачу - напоминание» в Outlooke из Excel, в файле, которого например есть таблица с 5 столбцами в которых имеется информация о сдаче экзаменов, о которой необходимо напомнить - 1. ФИО, 2. Дата, 3. Время, 4. Название напоминания, 5. Текст напоминания
@BilyalKhassenov4 жыл бұрын
Здравствуйте! Записал в заметки - как-нибудь обязательно постараюсь снять такое видео 😊 С уважением и хорошего Вам дня, Билял
@dmitriy50583 жыл бұрын
Здравствуйте. Office 2021. Обновлено "на сейчас". Раннее подключение библиотеки Microsoft Outlook 16.0 Вопрос: Почему при запущенном OUTLOOK на строке Set appOutlook = New Outlook.Application возникает ошибка Run-time error '429'? При закрытом OUTLOOK рассылка работает, но только при отсутствии строки NewMail.Display внутри цикла рассылки, иначе на строке Set NewMail = appOutlook.CreateItem(olMailItem) вылетает ошибка Run-time error '462'. Если попробовать запустить OUTLOOK во время работы макроса - не получается, "... Разные версии OUTLOOK не могут работать одновременно..." Есть подозрение, что позднее подключение может решить эту проблему. Заранее спасибо.
@ХабибНабиев-ц3ц4 жыл бұрын
Спасибо за ваш труд Билял. Можете прикрепить файл для упражнений? Спасибо.
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Хабиб! Большое спасибо за Ваш комментарий - я и вправду совсем забыл загрузить файл для упражнений. Ссылку на файл в Google Drive вписал в описание к этому видео и также дублирую в этом ответе на Ваш комментарий: drive.google.com/open?id=1UufZ0o9yMkw4iASGI2qEDck6BHhrLS3N Если будут какие-либо вопросы - всегда пишите! С уважением и хороших Вам выходных, Билял
@ОльгаОбодовская4 жыл бұрын
классные уроки
@ХабибНабиев-ц3ц4 жыл бұрын
Как можно скопировать готовый UserForm и вставить на эту же книгу, то есть дублировать? Спасибо.
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Хабиб! Для этого Вам надо переименовать пользовательскую форму, лучше всего в отдельной копии Вашего xlsm файла - и дописать, например, слово "_Copy" в конце названия формы. Затем щёлкаете правой кнопкой мыши -> Export File -> Сохраняете в нужной Вам папке. И уже после этого Вы можете импортировать эту локально сохранённую форму в Ваш xlsm-файл (щелчок правой кнопкой мыши по папке Forms в VBA -> Import File). Таким образом у Вас появится копия формы. С уважением и хорошего Вам дня, Билял
@nikolayvolkov13974 жыл бұрын
Билял, привет! В своем решении домашнего задания ты из процедуры в процедуру передаешь переменную (rgCellChecked) типа Range, а потом в целевой процедуре оперируешь сдвигами с переданным значением, не прописывая заново путь (например, Workbooks().Worksheets().Range() ) к исходному диапазону. Я правильно понимаю, что при передаче переменной типа Range (ну и вообще переменных именно с объектами) передаются также и остальные свойства объекта, а не только явно отраженное содержимое?
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Николай! Да, Вы всё верно поняли - переменные содержат в себе всю связанную с объектом информацию, и именно этим они прекрасны и важны. Кстати, легче воспринимать объектные переменные как ссылки на реальные объекты, об этом можете подробнее узнать из следующего видео: kzbin.info/www/bejne/hn3EdaeXqdN9oK8 С уважением и хороших Вам выходных, Билял
@ЗахваткинИван Жыл бұрын
Здравствуйте Билял. Подскажите, пожалуйста, как вставить таблицу в outlook? И как вставить файл excel в outlook? Спасибо!
@yflow5337 Жыл бұрын
Благодарю за отличный развернутый урок! А нет ли способа программно подключать или выключать библиотеки, через доступ к Среде VBA и управления настройками проекта? Тогда удалось бы объединить преимущства позднего и раннего связываний.
@kingoftime927910 ай бұрын
Здраствуйте, подскажите вопрос. При запуске макросов выскакивает надпись Can t find project or library, это говорит о том что у меня не подключены библиотеки ? Пытаюсь дальше включить Tools/Peferences - выскакивают не активации библиотек а password, Это значит кто то в этих настройках поставил пароль ??
@АлексейЛазаренко-р9с4 жыл бұрын
Отличный канал! Спасибо за граммотное изложение материала. А возможно ли с Эксель отправлять смс сообщение с персональной информацией?
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Алексей! Всегда пожалуйста, рад помочь! 😊 Напрямую из Excel отправлять СМС невозможно - но, возможно, есть Add-In сторонних разработчиков (скорее всего платные). В принципе, также можно было бы рассмотреть вариант с отправкой СМС через Internet Explorer с сайтов с подобными услугами. С уважением, Билял
@Российскийинтеллигент4 жыл бұрын
Здравствуйте, Билял. Есть такая трудность в Excel. Есть массив цифр, например 1, 2, 3, 4 7, 9, 12, 13, 14, 15, 18. Мне нужно представлять их как 1-4, 7, 9, 12-15, 18. То есть все цифры которые идут по порядку должны для краткости писаться через тире, ну а те которые не по порядку должны перечисляться через запятую. Помогите, пжста, написать подобный код. Спасибо!
@BilyalKhassenov4 жыл бұрын
Здравствуйте, Сергей! Я быстро набросал следующий вариант, работающий как вспомогательный макрос. Попробуйте его: Sub groupNumbersInAnArray(ByRef varArrNumbersToGroup As Variant) Dim lngCounter As Long Dim lngCurrentGroupStart As Long Dim lngCurrentGroupEnd As Long Dim lngLastAddedToTheGroup As Long Dim boolNewGroupIsToStart As Boolean boolNewGroupIsToStart = True Dim collGroupsDone As New Collection lngCurrentGroupStart = varArrNumbersToGroup(1, 1) 'Group start lngLastAddedToTheGroup = varArrNumbersToGroup(1, 1) boolNewGroupIsToStart = False If UBound(varArrNumbersToGroup, 1) = 1 Then MsgBox "Всего одно значение в массиве! Для групирования значений должно быть больше значений в массиве!", vbInformation Exit Sub Else: For lngCounter = 2 To UBound(varArrNumbersToGroup, 1) If varArrNumbersToGroup(lngCounter, 1) = lngLastAddedToTheGroup + 1 Then lngLastAddedToTheGroup = varArrNumbersToGroup(lngCounter, 1) 'Current group continues Else: 'Closing the Group If lngCurrentGroupStart lngLastAddedToTheGroup Then collGroupsDone.Add lngCurrentGroupStart & "-" & lngLastAddedToTheGroup lngCurrentGroupStart = varArrNumbersToGroup(lngCounter, 1) 'New group start lngLastAddedToTheGroup = lngCurrentGroupStart Else: collGroupsDone.Add lngCurrentGroupStart lngCurrentGroupStart = varArrNumbersToGroup(lngCounter, 1) 'New group start lngLastAddedToTheGroup = lngCurrentGroupStart End If End If 'Adding the last one If lngCounter = UBound(varArrNumbersToGroup, 1) Then If lngCurrentGroupStart lngLastAddedToTheGroup Then collGroupsDone.Add lngCurrentGroupStart & "-" & lngLastAddedToTheGroup Else: collGroupsDone.Add lngCurrentGroupStart End If End If Next lngCounter 'Chaning the array Erase varArrNumbersToGroup ReDim varArrNumbersToGroup(1 To collGroupsDone.Count, 1 To 1) For lngCounter = 1 To collGroupsDone.Count varArrNumbersToGroup(lngCounter, 1) = collGroupsDone.Item(lngCounter) Next lngCounter End If End Sub Как было сказано, макрос был быстро написан. Я него немного потестировал, надеюсь учёл все нюансы. Вы потестируйте тоже его, и сообщите мне, пожалуйста, если будут какие-заметки 😊 С уважением, Билял
@bananamastersup3 жыл бұрын
Спасибо за урок и за задачку! Решил сам, но в рамках одной процедуры. Сделал динамический массив, чтобы была возможность отправки писем автоматически при добавлении клиентов. Немного поломал голову с переносом текста на другую строку. В итоге тоже нашел vbNewLine. Заметил одну проблему: при отправке или при закрытие письма (miNewMail.Send/ miNewMail.Close olDiscard) при повторении цикла со следующим клиентом выскакивает ошибка Run-time error '462': The remote server machine does not exist or is unavalible. При этом, если с письмом ничего не делать (не закрывать или не отправлять), цикл работает корректно
@АндрейВасильевич-й9с3 жыл бұрын
Подскажите у меня нет MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY. Нет в принципе не чего на Outlook/
@НЛОшкаслуны6 ай бұрын
А если я решу писать в late binding, то где искать значение констант?