Урок 6. Поиск артикула (метод Range.Find). Excel+VBA. Система учета Интернет-магазина

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 เม.ย. 2018
  • ПОЛНЫЙ КУРС и ПРОГРАММА - СКИДКА 60%
    Приобрести можно тут - 1excel.ru/magazin-vba-excel
    Создание приложения системы учета интернет-магазина - kuzmich24.ru на базе Excel+VBA
    В данном уроке осваиваем метод Range.Find поиска артикула с листа Склад и автоматически заполняем поля на форме.
    Предыдущие уроки:
    Урок 1. Постановка задачи - goo.gl/JvMQAm
    Урок 2. Дизайн и оформление - goo.gl/nJGzdw
    Урок 3. Модуль Продажи (создаем UserForm) - goo.gl/3XN6H6
    Урок 4. Пишем код (Теория+работа с формой) - • Урок 4. Пишем код (Тео...
    Урок 5. Заполнение списков ComboBox - goo.gl/6bPDw6
    Easy Excel - ПОЛНОЕ и ПОДРОБНОЕ обучение программы Excel для новичков и практиков! Уроки по макросам и VBA
    Подписка на канал Easy Excel: / easyexcellesson

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

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

    ничего нет лучше Вас на Ютуб. спасибо.

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

    Очень здорово! Я за пару дней узнал больше чем за года обучения. Очень информативно и доходчиво. Спасибо огромное!

  • @user-xp1bh1et3r
    @user-xp1bh1et3r 6 ปีที่แล้ว +3

    А в общем спасибо тебе за твою работу! ( Я работал начальником стройки , теперь судьба повела меня в сметчики, за 3 года работы я только и вижу как народ мучается и гоняет данные из ехель в ехель в ручную, мне это показалось скучным и унизительным занятием. Я при помощи программиста сделал макрос он мне "потрашит" сметы ехель за секунды любое количество. В твоих видео про продажи, много сходств с офисной обработкой данных в ручную , много совпадений и аналогий вижу, некоторые приемы взял на вооружение) спасибо!

  • @user-bp6zj2xb7h
    @user-bp6zj2xb7h 6 ปีที่แล้ว +4

    Я честно признаться в vba давно лазить стал, но вот до умных таблиц не додумался, все время через массивы работал, вы мне прям глаза открыли, они реально упрощают процессы программирования. Спасибо вам!

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

    Очень хорошие уроки!Всё доступно и понятно.Хотелось Ещё уроков по VBA.

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

    Твои уроки просто шикарны, спасибо, что их делаешь, и большое за это спасибо)

  • @user-zm5id6ho6t
    @user-zm5id6ho6t 3 ปีที่แล้ว +2

    Про имена листов. Можно использовать кодовые имена, те, которые указаны не в скобках, а до них. Тогда ничего страшного не случится, если кто-то переименует лист.

  • @LAV_rostov
    @LAV_rostov 6 ปีที่แล้ว

    Спасибо за видео. А если артикул (т.е. данные) не уникален и может повторяться, то что нужно прописать в код, чтобы сопоставлялся последний введенный артикул. Т.е. то что делает функция ПРОСМОТР в Excel.

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

    уроки отличные, только вот не понятно, а что в заказе всегда присутствует только один вид товара? при такой схеме придется на каждый товар оформлять отдельный заказ. а если клиент заказывает ряд товаров (что чаще всего и бывает), ваша схема уже не подойдет. нужно масштабировать

  • @user-eu7zm3nf9j
    @user-eu7zm3nf9j 6 ปีที่แล้ว +1

    Очень круто, спасибо!

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

    Решил использовать в одной маленькой прграмме метод Range.Find , сразу оговорюсь что не програмист , но по роду деятельности постоянно использую Ecxel и что греха таить нравится самому что-то делать полезное, так вот в моей задаче фамилия и имя стоят в отдельных ячейках, я в третий столбец объединил их командой сцепить, но как оказалось Find не работает с такими полями, приходится вручную их объединить

    • @user-fx1eo9it8k
      @user-fx1eo9it8k 2 ปีที่แล้ว

      Попробуйте преобразовать получившее значение формулы в значение

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

    Здравствуйте.
    Возник любопытный вопрос.
    Чем такая запись
    Set cell = StoreListObj.ListColumns.item(1).range.Find(Sales.txb_article.value, LookAt:=xlWhole)
    Sale.txb_desc.Value = cell.cells(1, 2)
    Лучше этой записи ?
    number_row = StoreListObj.ListColumns.item(1).range.Find(Sales.txb_article.value, LookAt:=xlWhole).row
    Sale.txb_desc.Value = cells(number_row, 2).value

  • @albertsharger4652
    @albertsharger4652 6 ปีที่แล้ว +1

    Здравствуйте. Очень интересная и новая для меня тема. Но есть вопросы...
    1. Если это называется Продажи, то планируется ли отсюда в рамках этих уроков построение товарных чеков или накладных. Ведь в одном заказе может быть несколько наименований. Тогда номер заказа не будет биться, если где-то в другом месте формировать эти накладные для заказчиков.
    2. Планируете ли Вы в этом курсе формирование отчетной документации для налоговых органов. Имея такие подробные таблицы под рукой, было бы классно не прибегая к 1С готовить на их базе отчетную документацию.
    Спасибо Вам за проделываемую работу :) Удачи Вам :)))

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว

      1. Планируется создание счетов для юр.лиц. Товарные чеки или накладные формируются CMS-системой магазина. В данный момент, как я понял, такой необходимости нет.
      2. Тема отчетности для налоговых органов мне пока не знакома, тем более средствами Excel. Честно говоря, даже не знаю возможно ли это. Вроде куда логичней налоговые и прочие отчетности делать в 1С или других специализированных программах. В данном примере мы все-таки делаем упор на систему учета продаж и около продажных процессов (склад, логистика) конкретного интернет-магазина.
      Спасибо за ваш комментарий!

  • @user-fz6qx5vw3l
    @user-fz6qx5vw3l 3 ปีที่แล้ว

    В данном примере, если артикулы, например имеют вид: 12, 123, 1234 и вы вводите 12345, то поле остается заполненным для последнего артикула 1234. Как этого избежать ?

  • @user-bp6zj2xb7h
    @user-bp6zj2xb7h 6 ปีที่แล้ว

    Уважаемый автор, а как можно сделать автозаполнение умной таблицы? К примеру у меня есть программа автоматического составления таблицы Склад, как данные из нее заносить автоматически в умную таблицу склад_tb, чтоб не руками сидеть, а при обновлении склада умная таблица тоже обновлялась?

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว

      Не совсем понял, что вы имеете ввиду. Но обновление таблицы может происходить по какому-то событию. В одном месте меняете, запускаете какую-то процедуру, которая ищет, проверяет и проставляет в другом месте необходимые значения (в умной таблице)

  • @user-fc4rh6oj7g
    @user-fc4rh6oj7g 6 ปีที่แล้ว

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

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว +1

      Да, конечно можно. Подсчитывайте каждый раз кол-во строк в таблице и прибавляйте единицу - будет всегда следующий заказ на единицу больше

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

    Здравствуйте. Пеересмотрела 6 видео по создании отчетности интернет магазина. Сделала все точечку в точечку, буковка к буквачке. Но на данном моменте возникла проблема. После проверки ввода артикула описание не подгружается

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

      Присылайте файл, посмотрю, где у вас ошибка - info@1excel.ru

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

    Как вывести информацию в поле Цена, просто выбрав обьект из Группа. Не вижу смысла в артикулах и хотелось бы при выборе товара видеть его цену.

  • @user-kd2ol5ru2r
    @user-kd2ol5ru2r 4 ปีที่แล้ว

    Здравствуйте! А подскажите пожалуйста. Если я хочу чтобы мне показывал по артиклю не только 1 товар (как здесь-по артиклю он единственный) . А хочу чтобы показывал все что есть с таким артиклем. Я уже поменяла на комбобокс описание товара , чтобы выбирать из предложенного. Но не могу решить проблему: он мне показывает именно первый выпавший, а нужны все((( спасибо большое если увидите вопрос.

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

      Для отбора всех значений надо использовать цикл или массив. Но сама ситуация странная, т.к. артикул - это уникальный идентификатор, он не должен повторяться.

  • @user-xp1bh1et3r
    @user-xp1bh1et3r 6 ปีที่แล้ว

    Приветствую Павел!
    (я конечно не понимаю в ВБА, но интерес большой присутствует ) Вопрос: 1.что если в номере заказа несколько артикулов? 2. я не понял почему менеджер будет искать по артикулам ? (Как это возможно?, почему не подбирать ОТВЕРТКУ по слову, и в водить в колонки описание товара и автоматическому выбору из списка возможных вариантов находящихся на листе склад).

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว +1

      Если несколько артикулов, то они добавляются последовательно. Артикул это уникальный код, который есть у каждого товара и присутствует на карточке товара данного интернет-магазина. По нему наиболее точный и оптимальный поиск. Можно делать поиск и по описанию, но тех же Отверток может быть большое множество, поэтому придется вводить точный поиск наименования товара, а это будет гораздо медленней, нежели ввести цифру артикула. И это ситуация, я повторю, актуальна для данного примера и случая. В другой программе может быть совершенно другой подход и реализация.

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

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

  • @user-zj7yk5ix1w
    @user-zj7yk5ix1w 5 ปีที่แล้ว

    Добрый вечер Павел. Хотел бы узнать, а есть команда, которая разграничит товар с одинаковым артикулом? Я по вашим примерам делаю магазин, только под запчасти для себя и на определенный артикул у меня на складе есть запчасть с разными цветами, при вводе артикула заполняется первая по списку. Искать и самому вписывать цвет из всего списан запчастей не реально). В вашей ситуации при нахождение артикула, продав товар, он списывается из ячейки "Наличие на складе", если рассматривать мою ситуацию, то мне нужно прописать и указать в коде, что при совпадении "Артикула" и "Цвета" происходит списание со склада, правильно же? Надеюсь на ваш ответ, заранее спасибо

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

      Мой совет - с цветом не работать. Любое изменение цвета в ячейке приведет к тому, что код корректно работать не будет. Но если вы все-таки хотите, то за заливку ячейки отвечает метод Interior и свойство Color или ColorIndex.

    • @user-zj7yk5ix1w
      @user-zj7yk5ix1w 5 ปีที่แล้ว

      @@easyexcellesson Я не так выразился. Приведу пример: на складе у меня есть две двери от автомобиля Хендай. Одна белого цвета, вторая черного (цвет указан в отдельном столбце) и при вводе артикула выдается стоящая первая по списку дверь. И вопрос мой заключается в том, что есть ли команда, которая найдя артикул выдаст полный список по нему? Я думал изменить артикул, но нельзя, так как номер запчасти идет по каталогу Хёндай

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

      Вам необходимо сделать связывающий список. При выборе определенной модели в комбобокс должны подтягиваться соответствующие цвета данной модели. В 5-м уроке мы как раз делали заполнение списка комбобоксов

    • @user-zj7yk5ix1w
      @user-zj7yk5ix1w 5 ปีที่แล้ว

      @@easyexcellesson Спасибо большое

  • @agluchov1986
    @agluchov1986 6 ปีที่แล้ว +1

    Когда не находит артикул, не лучше очистку всех txtbox сделать через else в if not is nothing?

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว

      Да, согласен, это хорошее решение)

  • @user-lt3hd5xd1f
    @user-lt3hd5xd1f 4 ปีที่แล้ว

    Пожалуйста помогите. Все сделал как в уроке но выскакивает ошибка: run time error 9 subscript out of range . Несколько раз перепроверил код,всю голову сломал уже. Ошибку выдает на строчке : Set ShStore = ThisWorkbook.Worksheets("Склад")

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

      Возможно, что ошибка в объявлении переменной. Смотрите туда

    • @user-lt3hd5xd1f
      @user-lt3hd5xd1f 4 ปีที่แล้ว +1

      @@easyexcellesson Большое спасибо друг! Обычная ошибка из-за невнимательности. Видимо я слишком активно пытаюсь повторить все уроки) Спасибо за помощь, не думал что даже спустя 2 года публикации уроков,автор будет помогать! Так же спасибо за отличные и понятные уроки!

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

    Хорошо, но в заказе может быть несколько товаров. Артикул не всегда уникальный; бывает, что разные производители выпускают товар с идентичным артикулом например "112 bosch" и "112 Siemens", но за теорию спасибо. Всегда ж можно дописать код. Думаю, ты это уже сделал.
    Был бы я новичком, то ничего бы не поняв твоих уроках. Спасибо мастер-класс.

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

    Видео которое смотришь сначала и до конца все как надо ! Есть вопрос один , у Вас есть Skype ?

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

    Спасибо! Очень круто и доходчиво по работам с умными таблицами. Но при реализации проекта получается менеджер должен держать в голове номера артикулов всех товаров (!). А так же получается один заказ - один товар.

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

      В голове, в данном случае, держать не надо. Менеджер ориентируется на артикулы сайта интернет-магазина. Все оформленные заказы (с артикулами) можно видеть в административной зоне, есть распечатанные экземпляры, по которым и вбиваются товары в учет.

  • @user-sw3pc9lh6n
    @user-sw3pc9lh6n 4 ปีที่แล้ว

    Добрый день! А как выполнить такой поиск, чтобы значения брать из сводной таблицы, а не из простой? Спасибо!

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

      th-cam.com/video/vc5_L7YHZ5U/w-d-xo.html

  • @frusco1878
    @frusco1878 6 ปีที่แล้ว

    Добрый день при заполнении ячейки "артикул" ячейка" описание" не заполняется,то есть ничего не происходит,Debug компилирует без ошибок, при запуске Run sub так же ошибок не показывает.что это может быть?Спасибо заранее!

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว

      надо смотреть код, так сложно определить. Высылайте файл, если проблема не решилась - info@1excel.ru

    • @frusco1878
      @frusco1878 6 ปีที่แล้ว

      Проблема не решилась ,я выслал, 3 скрина модуля,и 1 формы.

    • @easyexcellesson
      @easyexcellesson  6 ปีที่แล้ว

      на почте не вижу высланные вами файлы

    • @frusco1878
      @frusco1878 6 ปีที่แล้ว

      Я извиняюсь не было интернета,сейчас отправил.