Извлечение чисел из текста в Excel & VBA (Серия VBA 35)
HTML-код
- Опубликовано: 4 окт 2024
- Привет! В этом видео мы напишем пользовательскую функцию VBA для извлечения чисел из текстовых строк, например: из “Test 123 v1” будем получать “123_1”.
Это видео отлично подходит также и для того, чтобы потренировать свои навыки работы в VBA, так как поставленная в нём задача имеет очень частный характер.
В решении понадобится использовать циклы For … Next, конструкции If, Else, End If, а также функции Len и Mid в VBA. Всё это мы обсудим и разберем в сегодняшнем видео.
Приятного просмотра! 😊
Хочешь поддержать мой канал? Это можно сделать с помощью функции «Спонсорство»:
/ @bilyalkhassenov
Офигенный урок и очень полезный для многих людей. Спасибо большое.
Уважаемый Bill K., как бы Вы решили такую задачу. Предположим есть папка с файлами эксель:
Заказ 1.xlsx
Заказ 2.xlsx
В эту папку постоянно копируются новые заказы, заказ 3, заказ 4 и т.д.
И есть другой файл эксель (реестр заказов) в который из этих файлов(из папки с заказами) вручную вносятся данные. Например в ячейках этого файла (реестра заказов) указывается "заказ 1" и вносится дополнительная информация "болт 1шт."
Подскажите пожалуйста, как при помощи vba прописать код так, чтобы проверялась папка с заказами на предмет появления новых файлов, и если появляется новый файл, то как перенести из вновь появившегося файла данные в реестр.
Если Вас не затруднит, объясните пожалуйста на каком-нибудь простом примере. Буду очень Вам благодарен. Думаю не только я один.
Спасибо за видео. Не знал, что собственную функцию можно сразу в ячейку прописывать. Это так можно избавиться на листе от кучи кнопок, запускающих мелкие обрабатывающие скрипты
Спасибо за труд!
Спасибо Билял! Уроки по VBA очень полезны и актуальны.
Ух ты круто, Билял большое спасибо за видео.
Билял, огромная благодарность! Это просто гениальная функция! VBA - мощь!
Хорошая подача материала.
Как всегда замечательный урок
Как всегда круто! Спасибо за урок.
Если у вас Office365 то тоже самое можно сделать при помощи формулы.
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ОБЪЕДИНИТЬ(;;ЕСЛИ(ЕЧИСЛО(--ПСТР(B3;ПОСЛЕД(ДЛСТР(B3));1));ПСТР(B3;ПОСЛЕД(ДЛСТР(B3));1);" ")));" ";"_")
Логика у нее точно такая же, только я все текстовые значения заменяю на "пробел", затем при помощи функции СЖПРОБЕЛЫ() оставляю пробелы между цифрами, а при помощи ПОДСТАВИТЬ() меняю пробел на "_"
Что за функция обьединить ?
Вы сэкономили мне несколько дней моей жизни ахах
Билял, приветствую! Терпеливо я ждал возвращение уроков по VBA)) Дождался!!! Спасибо, очень вовремя и кстати! Урок замечательный, как и всегда. Кроме того, в комплексе с решением задачи в Excel! Спасибо! Радуй подписчиков новыми темами VBA, по возможности - очень актуально!!!👍
Чел круто и урок и ава тоже😁
Для подобных задач (разбор буквенно-числовой каши) подходит еще использование регулярных выражений RegExp, для осуществления ранней привязки (отображения всех свойств и методов) необходимо подключить к проекту VBA ссылку на библиотеку «Microsoft VBScript Regular Expression»
круто!
Классный урок!!! не знал что так можно)
Супер!
Спасибо большое!!! У меня получилось!
круто.. то что надо
Спасибо тебе за твой труд. Скажи пожта, как ты вставляешь графику (стрелки) в свое видео?
Спасибо) много полезного для себя извлек. Хотелось бы узнать будет ли видео по формам VBA?
Здравствуйте! Рад, что видео Вам понравилось! 😊
По поводу пользовательских форм: на самом деле уже есть целый плейлист, посвященный тематике пользовательских форм VBA. Вот ссылка: ruclips.net/video/y93n1WtaBJs/видео.html
Этот курс, правда, еще не полностью завершен, но в нём раскрыто уже большое количество тем.
С уважением,
Билял
Пушшшка))))
Очень понятно и доступно, спасибо большое за такие видео, Билял!
Можешь подсказать еще какие-нибудь ресурсы (можно на английском), кроме твоего канала, где можно посмотреть доп. теорию или (что важнее) порешать какие-нибудь задачки на VBA? Посмотрел все твои видео, прорешал задания, но все еще не уверен, насколько этого достаточно для того, чтобы заявлять в резюме, что я знаю VBA (в общем, я боюсь с треском провалить какое-нибудь техническое собеседование по этой теме:) )
@@vladimirvladimirchuk7877 будущий аналитик, по крайней мере надеюсь им стать)
Добрый день. Отличный код. Но не понятно почему-то числа выделяются без разделительного знака, несколько раз проверил код.
Здравствуйте👋👋👋
А есть ди функция, которая переведёт значение ячейки в слова. Например: 43 руб 05 коп - сорок три рубля пять копеек ?
Добрый день! А можно ли числа в тексте разделять не в одной ячейке через "_", а на несколько рядом стоящих ячеек? Заранее благодарю за ответ.
Подскажите, пожалуйста. Вроде как один в один скопировал код, и мне пишет Compile error Variable not defined, выделяя желтым самую первую строку. В упор не вижу что не так, все переписал как тут
Можно выложить файл на гугл драйв для скачки?
а это че за программа который вы код писали
2021
К сожалению с числами с плавающей запятой это не работает
Как будут обрабатываться отрицательные числа?
Как будут обрабатываться числа с дробной частью, разделенных точкой или запятой?
Как будут обрабатываться дробные числа в экспоненциальном формате?
Ответ на эти вопросы один: РЕЗУЛЬТАТ БУДЕТ НЕВЕРНЫМ.
Да, эти варианты функцией не предусмотрены. Но данный видеоурок содержит в себе всю необходимую информацию для того, чтобы учесть эти варианты самостоятельно. В этом нет ничего сложного: просто нужно для каждого случая (дробь, отрицательные числа и т.д.) предусмотреть дополнительные проверки через условный оператор "If" перед добавлением каждого символа в результат функции.
супер)