FIND в VBA - полный гайд по поиску в VBA (Серия VBA 26)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 51

  • @Евгений-10.11
    @Евгений-10.11 4 ปีที่แล้ว +3

    Решил пересмотреть урок и понял, насколько поверхностно в первый раз смотрел: столько нужных моментов оказалось))) Недаром говорят: повторение - мать учения! Всем рекомендую спустя некоторое время возвращаться и повторять материал! Билял, молодчина! Спасибо огромное! Применяя решения этого урока, в программах можно вытворять любопытные вещи. Уже опробовал)))

  • @АндрейЛесников-з8ч
    @АндрейЛесников-з8ч 5 ปีที่แล้ว +15

    Мега-мега-мегаграмотное изложение материала и продуктивные уроки! Редкость на просторах интернета! Низкий Вам поклон за столь эффективное изложение материала по VBA! Вы педагог от Бога, продолжайте в том же духе! Низкий поклон за труды! Не поленюсь и напишу это коммент по каждым видео курса!!!

    • @BilyalKhassenov
      @BilyalKhassenov  5 ปีที่แล้ว

      Здравствуйте, Андрей!
      Со своей стороны точно также не поленюсь и поблагодарю Вас за этот приятный комментарий под каждым видео точно так же :)
      С уважением и хорошего Вам дня,
      ХБ

  • @learningexcell440
    @learningexcell440 4 ปีที่แล้ว +3

    Билял супер! Вы объясняете очень грамотно и без лишних разговорах молодец!

    • @BilyalKhassenov
      @BilyalKhassenov  4 ปีที่แล้ว

      Здравствуйте!
      Большое спасибо за Ваш комментарий, рад стараться! 😊
      С уважением,
      Билял

  • @ОлегПаламарчук-в9у
    @ОлегПаламарчук-в9у 2 ปีที่แล้ว

    Билял, спасибо тебе большое, с тобой VBA становится понятным! я ещё пересматриваю предыдущие уроки и параллельно выполняю свои задачи с помощью этих уроков, что значительно усиливает навыки VBA

  • @АндрейВасильевич-й9с
    @АндрейВасильевич-й9с 3 ปีที่แล้ว +3

    Начинаю некоторые занятия пересматривать. И материал заходит осмысленнее. Билял спасибо! Твои подробные описания начинаю давать плоды. Видео в поисковиках попадают в выдачу при поиске). Это хорошо всем больше полезного контента)

  • @Zugin1
    @Zugin1 2 ปีที่แล้ว

    Спасибо за твои уроки. Много полезной информации без "воды"

  • @olegyes934
    @olegyes934 3 ปีที่แล้ว +1

    Большое спасибо за отличные уроки! Доступное объяснение, хорошие примеры!

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 3 ปีที่แล้ว +1

    Билял, благодарю! Отличный урок! Я всё повторил - всё получилось, всё понятно.

  • @SamSambl4
    @SamSambl4 4 ปีที่แล้ว +2

    Спасибо за труд!

  • @maksimkisliak4782
    @maksimkisliak4782 3 ปีที่แล้ว +3

    Коммент ради раскрутки канала! Пусть твой труд воссоздатся!
    Люди, ставьте комменты и лайки, благодарите парня за бесплатный крутой контент!

  • @pavelkazak3112
    @pavelkazak3112 5 ปีที่แล้ว +7

    С возвращением! Отличный урок! Спасибо, за отзывчивость! Есть вопрос, на листе имеется именованная ячейка, при нажатии на которую на лист выводится как бы другой лист с текстом или графиками или значениями, который был до этого скрыт, при этом исходный лист также остаётся видимым и не закрывается.

    • @BilyalKhassenov
      @BilyalKhassenov  5 ปีที่แล้ว +3

      Здравствуйте, Павел!
      Большое спасибо, я тоже очень рад снова вернуться к возможности записывать видео и выкладывать их на канал. Правда, у меня сейчас стало опять немного меньше времени посреди недели, поэтому, вероятно, видео будут выходить иногда с не должной регулярностью. Но я постараюсь такие моменты держать на минимуме :)
      Кроме того, почти наверняка задержится выход следующего видео - я жду прихода нового микрофона :)
      Касательно Вашего вопроса - как я понял, Вы хотите, чтобы при нажатии на именованную ячейку происходило скрытие текущего рабочего листа, на котором и находится эта именованная ячейка (т.е. чтобы он стал спрятанным), и выбирался/показывался лист, который был «раскрыт». В этом случае я бы предложил следующий вариант (если я неправильно понял задачу, то обязательно напишите, рассмотрим с Вами другие варианты):
      Sub aSolution()
      'Предположим, на листе "Лист1" находится
      'запускающая макрос именованная ячейка,
      'а лист два - это изначально скрытый лист,
      'который должен быть "раскрыт"

      ThisWorkbook.Worksheets("Лист2").Visible = True 'Раскрываем второй лист
      ThisWorkbook.Worksheets("Лист1").Visible = False 'Прячем первый лист
      ThisWorkbook.Worksheets("Лист2").Range("A1").Activate 'Выбираем второй лист
      End Sub
      Протестируйте у себя этот макрос. Я его привязывал к кнопке на листе, всё сработало. Если что обращайтесь. И большое спасибо Вам еще раз за интерес к каналу! :)
      Хорошего Вам вечера, Павел! :)

    • @pavelkazak3112
      @pavelkazak3112 5 ปีที่แล้ว +1

      @@BilyalKhassenov Здравствуйте ХБ! Недавно столкнулся с такой проблемой, как составление отчета с графиками и расчетами, и подробным описанием проделанной работы. Для визуализации своей работы, нодо было отобразить все формулы, участвующие в расчетах, такова прихоть заказчика. Для этого использовал "вставка формулы", немного поломав голову, разобрался, как работает этот инструмент. Отличная опция. Но к своему удивлению, не нашел ни одного урока в нете по этому инструменту Excel. Странно, но факт. Удачи.

    • @BilyalKhassenov
      @BilyalKhassenov  5 ปีที่แล้ว +1

      Здравствуйте, Павел!
      Большое спасибо за информацию, обязательно постараюсь снять видео на эту тему. Хорошего Вам дня! :)
      С уважением,
      ХБ

  • @ExcelExcel-bc1tc
    @ExcelExcel-bc1tc 3 ปีที่แล้ว +1

    Спасибо за интересный урок. Планирую посмотреть все ваши видео, действительно практически лучший курс по VBA на ютьюбе (а может и не только). Сам попробовал снимать видео, и понял, как это сложно - разбираться еще и в видеомонтаже. У вас отлично получается.
    Делаю свою надстройку для аудита. На практике столкнулся, что метод Find почему-то отказывается искать второе значение в диапазоне.
    Дело оказалось в форматировании ячеек. Ячейку с нужным значением с нестандартным форматом он почему-то не находил. Не видел.
    Когда отформатировал весь диапазон в текстовой формат (rangeToSeach.NumberFormat = "@"), все получилось. Если будете переснимать это видео, можете сказать об этом.

  • @Мишаня-в7ф
    @Мишаня-в7ф 3 ปีที่แล้ว

    Все супер! Спасибо! Подскажите, пожалуйста, как данный поиск (его результат) задать на определенный диапазон ячеек с выпадающим списком, из которого можно выбрать правильный. Еще раз спасибо!

  • @МаратСычев
    @МаратСычев 3 ปีที่แล้ว +1

    Реально круто

  • @anndreem7533
    @anndreem7533 4 ปีที่แล้ว +2

    Привет. Спасибо большое!! Присоединяюсь к предыдущим комментаторам: Очень крутой урок!!! Вопрос: можно ли find использовать как замену ВПР при большом объеме информации? Дело в том, что в конечной таблице, в которую должны подтягиваться данные из других книг, должны быть либо значения из других книг (записанные не формулой ВПР), либо формулы из различных значений другой книги (например, =500+200+100, где первое число продажи ТТ, второе - продажи Веб, третье - продажи упущенные)

    • @BilyalKhassenov
      @BilyalKhassenov  4 ปีที่แล้ว +2

      Здравствуйте, Ann!
      Большое спасибо за интересный вопрос! Я бы сказал, что использовать метод Find в качестве альтернативы ВПР вполне можно. При этом это была бы одна из множества возможных альтернатив, и, поскольку альтернатив достаточно много, следует просто уже по ситуации оценивать, какой подход является наиболее привлекательным с точки зрения простоты его технической реализации, скорости работы кода и так далее. И соответственно уже с оцененными различными альтернативными подходами следует принимать решение касательно того, какой подход будет выбран.
      Если же выбор падает на использование метода Find, то здесь уже так же открывается достаточно широкий выбор подходов реализации идеи в техническом плане, которые зависят от характеристик Вашего разрабатываемого файла.
      Простейший пример использования Find в качестве замены ВПР: в первом шаге можно использовать Find для нахождения требуемой ячейки, а затем уже при помощи Offset получать требуемые данные, отстоящие от найденной ячейки на определенное количество строк/столбцов (определение количества «Сдвигов» от найденной ячейки естественно можно также сделать динамичным).
      Если будут вопросы - всегда сразу задавайте, Ann. Буду рад помочь 😊
      Хороших Вам выходных! 😊
      С уважением,
      Билял

  • @kickone-1
    @kickone-1 2 ปีที่แล้ว

    Спасибо за ваш труд. Не подскажите как найти дату?

  • @ДмитрийДмитрий-ф8к
    @ДмитрийДмитрий-ф8к 2 ปีที่แล้ว

    Добрый день, не могли бы вы снять видео о написании макроса с таким условием: имеется таблица с 6 столбцами, в столбце В находятся названия элементов в текстовом виде, в столбце E числовые значения которые они принимают.
    Необходимо найти точное название элемента в столбце В ,, насколько я понимаю и адрес ячейки,, сместиться на столбец E в котором и будет числовое значение искомого элемента, сохранить значение этого элемента в глобальной переменной и записать его в ячейку А3 первого рабочего листа, и второго рабочего листа .

  • @ЭляБурбуля
    @ЭляБурбуля 5 ปีที่แล้ว +9

    Здравствуйте! Интересные уроки, и уровень подачи информации высокий!!! Благодарю! Обратила внимание, что подписчиков не много))) Возможно Вы знакомы с каналом easy excel? На этом канале есть супер проект из 32 уроков. Думаю идею уловили)) P.S. С момента выхода этого проекта, до его завершения (как я увидела) подписчиков увеличилось на приблизительно тыс.40.

    • @BilyalKhassenov
      @BilyalKhassenov  5 ปีที่แล้ว +6

      Здравствуйте, Эля!
      Большое спасибо за Ваш комментарий, положительную оценку и конечно же совет! :)
      Касательно дальнейшего развития канала - я как раз тоже думал, что можно поменять. Появились пару идей, которые я собираюсь реализовать в течение следующих недель (так, например, думаю помещать свою фотографию на заставках видео, чтобы видео лучше узнавались и т.д.).
      Тем не менее, слишком больших надежд на подобные поправки пока не возлагаю, так как думаю, что все дело измененных с недавних пор алгоритмах работы TH-cam. Но, в любом случае, ничего страшного, пробьемся :)
      Хорошего Вам дня, Эля! :)

  • @СтаниславНепомнящий-ш5ф
    @СтаниславНепомнящий-ш5ф 4 ปีที่แล้ว

    Отличный контент! Вопрос : как с помощью xlValue исключить искомое значение из результатов поиска?

  • @Anonim-sv4vr
    @Anonim-sv4vr 2 ปีที่แล้ว

    Здравствуйте, Билял, не очень давно начала изучать макросы и сейчас добралась до Find. Вопрос такой: когда я ввожу в VBA эту функцию, она вроде бы выполняется (по крайней мере, ошибок не возникает), но у меня не выделяется искомая ячейка, нормально ли это?

  • @ЮрийК-д4з
    @ЮрийК-д4з 2 ปีที่แล้ว

    Билял, расскажи про настройку поиска в скрытых и не скрытых ячейках - не все знают об этом.

  • @ИИванов-ь6с
    @ИИванов-ь6с 2 ปีที่แล้ว

    Как проверить на соответствие одну ячейку ексель, содержащую текст, с другими ячейками ексель, также содержащими текст??? (проверяем на частичное совпадение)

  • @АлександрБарыкин-ы2я
    @АлександрБарыкин-ы2я 4 ปีที่แล้ว

    Здравствуйте. Подскажите как реализовать следующую задачку. Нужно в определённом столбце таблицы найти какое то значение, указываемое в combobox. А в listbox в несколько столбцов вывести их и значения соседних ячеек. Например с столбце А у нас номера, в столбце В названия, а в столбце С еще что нибудь. Номера будут повторяться в разных строках. Как сделать чтобы в первую колонку listbox вывелись все эти найденные одинаковые номера. Во вторую колонку, значения из столбца В, соответствкющие этим номерам, а в третью колонку, соответствующие значения из столбца С.

  • @sbm5705
    @sbm5705 2 ปีที่แล้ว

    Спасибо, как всегда отличный урок!
    Подскажите, если ячейка содержит значение 1500 и формат ее указан как числовой, с разделителем разрядности и двумя цифрами после запятой (т.е. мы видим 1 500,00), то найти 1500 не получается, я должен писать поиск "1 500", т.е. Set myCell = Range("A:B").Find("1 500", LookIn:=xlValues), но это неудобно
    Как от этого можно уйти?
    Искать надо именно значение, а не формулу, т.к. это м.б. ссылка на ячейку =А10, в которой уже число 1500

  • @Александр-д1г9э
    @Александр-д1г9э ปีที่แล้ว

    Добрый день, есть формула которая при переносе текста меняла шрифт текста.

  • @MatePanzer
    @MatePanzer 3 ปีที่แล้ว

    Билял, привет! Столкнулся с проблемой применения метода FIND при поиске чисел с запятой. Следуя твоему примеру, в столбце вместо букв я расположил цифры, но поиск успешен только для целых чисел. Далее я выяснил, что условие поиска должно содержать в себе точку (1.5 вместо 1,5) однако возник вопрос на примере: если взять ComboBox, заполнить его значениями из столбца (1 1,5 2 2,5 ...), а затем методом FIND выполнять поиск по этому же столбцу значениями из ComboBox, то поиск также успешен только для целых чисел. По-видимому, нужно как-то заменить запятую в промежуточной переменной. Формат ячеек роли не играет. Как решить задачу?
    Спасибо за уроки!

  • @azimjon_azizov
    @azimjon_azizov ปีที่แล้ว

    Как в VBA использовать таджикские буквы (ғ, ӣ, қ, ӯ, ҳ, ҷ), чтобы искать их, например? Когда пишу эти буквы вместо них пишется вопросительный знак.

  • @Serega_Zaicev
    @Serega_Zaicev 4 ปีที่แล้ว

    до 19 урока всё чётко а после 19 урока такое ощущение сразу с 1 -го класса посадили в 5 - й смотриш на всё это и думаеш куда я попал и хватит уже всё в MsgBox ответы выводить, да это было уместно на первых уроках , но щас задачи усложняютса и ответы в отдельные столбцы выводите и не по 1 ответу в 1 строку а сразу по несколько в разные строки

  • @jeidiviret1337
    @jeidiviret1337 3 ปีที่แล้ว

    Вот вроде бы все осветил... хорошо... Однако сам же в начале ролика привел окно поиска Excel, сказал, что все параметры этого меню можно задать в функции Find VBA, а опцию "Искать:" окна поиска, принимающую значения "на листе" или "в книге" дипломатично опустил. Но лист может оказаться не один, и зачастую оказывается не один. И как быть? Куда впихнуть в функцию этот параметр?

  • @Serega_Zaicev
    @Serega_Zaicev 4 ปีที่แล้ว +1

    лучше покажите пример с поиском товара и выпиской его цены и количества и не в MsgBox а на реальную страницу , у меня к примеру один и тот же товар встречаетса много раз , вот покажите как на примере извлеч этот товар и выписать товар цену и количество

    • @АлексейСоков-ь8и
      @АлексейСоков-ь8и 3 ปีที่แล้ว

      "Лучше подскажите..." - как будто бы он вам что-то должен 😆

  • @dmitriykotov3397
    @dmitriykotov3397 4 ปีที่แล้ว +1

    Билял, подскажите, пожалуйста, в чем причина того, что Find отказывается искать ошибки на листе (#ДЕЛ/0!, #Н/Д)? Причем не важно формула ли это, формула сохраненная как значение или просто руками написать #ДЕЛ/0!, результат один - поиск не работает.
    Sub poisk()
    Dim rangeSearch As Range
    Dim rangeValue As Range
    Dim cellAddress As String
    Set rangeSearch = Range("a:z")
    Set rangeValue = rangeSearch.Find("#ДЕЛ/0!", , , xlWhole)
    cellAddress = rangeValue.Address
    MsgBox cellAddress
    End Sub

    • @BilyalKhassenov
      @BilyalKhassenov  4 ปีที่แล้ว +3

      Здравствуйте, Дмитрий!
      Искать нужно название ошибки на английском - это первое. И второе - искать нужно лишь значения. Попробуйте вот этот код:
      Sub poisk()
      Dim rangeSearch As Range
      Dim rangeValue As Range
      Dim cellAddress As String
      Set rangeSearch = Range("a:z")
      Set rangeValue = rangeSearch.Find(What:="#DIV/0!", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
      cellAddress = rangeValue.Address
      MsgBox cellAddress
      End Sub
      С уважением,
      Билял

    • @dmitriykotov3397
      @dmitriykotov3397 4 ปีที่แล้ว +1

      Работает, большое спасибо!

  • @Bi-dj3iy
    @Bi-dj3iy ปีที่แล้ว

    Возвращайся, 😀

  • @Serega_Zaicev
    @Serega_Zaicev 4 ปีที่แล้ว

    а нельзя по человечески выводить ответы , к примеру мы искали в диапозоне "A1:C3" буквы "A" , нашли их и выводим их , например нашли 3 буквы "A" и пусть они выводятса поочерёдно в какойто столбик например в F1 = первая буква "A" ,,, F2 = вторая буква "A" и так далее , а то выводим по одной буковке в msgBox и чё я должен понять, я вапще теперь запутался с добавлением коллекции как я должен вывести в отдельный столбик найденные нами буквы

  • @sappy2510
    @sappy2510 4 ปีที่แล้ว

    а можно искать таким образом не в ячейках а в массиве по значениям

    • @BilyalKhassenov
      @BilyalKhassenov  4 ปีที่แล้ว

      С помощью Find - нет. Чтобы найти искомое значение в массиве, нужно использовать цикл по всем значениям в массиве и сравнивать содержимое.
      С уважением,
      Билял

    • @sappy2510
      @sappy2510 4 ปีที่แล้ว +1

      @@BilyalKhassenov вот блин) халявы не бывает)

    • @BilyalKhassenov
      @BilyalKhassenov  4 ปีที่แล้ว

      😅

  • @АлексейСоков-ь8и
    @АлексейСоков-ь8и 3 ปีที่แล้ว +1

    2021