Добрый день! Столкнулся с проблемой поиска считанного штрихкода. Имеются некие таблицы эксель с артикулами товаров, а так же сканер штришкодов. Артикулы в таблицах 11-значные, а считываемые сканером штрихкоды имеет длину 18 знаков, первые 7 из которых всегда нули. В итоге в строке поиска каждый раз приходится вручную удалять 7 нулей в начале считанного кода, что крайне не удобно и сильно затягивает процесс.
Пробовал "сцепить" нули и артикулы из книги в дополнительном столбце, но поиск не находит результаты функции. Пробовал формат ячеек с артикулами изменить на 18-ти значный, но ячейки хоть и отображаются с приписанными нулями спереди, но хранят в себе по-прежнему 11-значный артикул и поиском так же не находятся. Возможно ли решить данную проблему посредством exel?
Пытался разобраться с настройкой сканера, чтобы отсекал лишние нули вначале кода, но поиск в русскоязычном интернете ничего не дал. Инструкции по программированию сканера лишь на английском, коим мне, увы, не дано владеть. Да и не уверен, возможно ли перенастроить так сканер (сканер CINO A770BT, Exel 2016).
Добрый день! Столкнулся с проблемой поиска считанного штрихкода. Имеются некие таблицы эксель с артикулами товаров, а так же сканер штришкодов. Артикулы в таблицах 11-значные, а считываемые сканером штрихкоды имеет длину 18 знаков, первые 7 из которых всегда нули. В итоге в строке поиска каждый раз приходится вручную удалять 7 нулей в начале считанного кода, что крайне не удобно и сильно затягивает процесс.
Пробовал "сцепить" нули и артикулы из книги в дополнительном столбце, но поиск не находит результаты функции. Пробовал формат ячеек с артикулами изменить на 18-ти значный, но ячейки хоть и отображаются с приписанными нулями спереди, но хранят в себе по-прежнему 11-значный артикул и поиском так же не находятся. Возможно ли решить данную проблему посредством exel?
Пытался разобраться с настройкой сканера, чтобы отсекал лишние нули вначале кода, но поиск в русскоязычном интернете ничего не дал. Инструкции по программированию сканера лишь на английском, коим мне, увы, не дано владеть. Да и не уверен, возможно ли перенастроить так сканер (сканер CINO A770BT, Exel 2016).Shell-68
Сообщение отредактировал Shell-68 - Вторник, 27.12.2016, 21:22
Упрощенно - это обычный файл эксель со столбцом 11-значих артикулов (именно этот столбец меня интересует, в нем и нужно найти отсканированный набор чисел - 11-значный артикул.
Просто Артикулы в таблицах 11-значные, судя по описанию - это целое число. сканер читает текст. Как ищете не знаю но сделайте перед поискам, value("000000012345678901") и ищите 12345678901 в Артикул таблице. Ну думаю понятно, что "000000012345678901" заменить на ячейку с "штрихкодом"
Совершенно верно, артикулы - это 11-значные числа. Ищу поиском: CTRL+F, считываю сканер штихкод, нажимаю кнопку "Найти все". Но проблема в том, что считанный штрихкод 18-ти значный (7 нулей + стандартный 11-значный артикул) и естесвенно найти ничего не удается, пока в строке поиска вручную не удалить лишние нули - в этом и есть проблема.
Задача такая - нажать CTRL+F, считать штрихкод сканером, нажеть "Найти все" и увидеть в результете поиска строку(и), с найденным артикулом. Как писал в 1ом сообщении, я пытался преобразовать столбец с артикулами из 11-значного в 18-значный функцией "сцепить" приписав 7 нулей вначале, визуально то я получил артикулы в формате 19-значном, но значение ф-ции не находится поиском через CTRL+F.
Упрощенно - это обычный файл эксель со столбцом 11-значих артикулов (именно этот столбец меня интересует, в нем и нужно найти отсканированный набор чисел - 11-значный артикул.
Просто Артикулы в таблицах 11-значные, судя по описанию - это целое число. сканер читает текст. Как ищете не знаю но сделайте перед поискам, value("000000012345678901") и ищите 12345678901 в Артикул таблице. Ну думаю понятно, что "000000012345678901" заменить на ячейку с "штрихкодом"
Совершенно верно, артикулы - это 11-значные числа. Ищу поиском: CTRL+F, считываю сканер штихкод, нажимаю кнопку "Найти все". Но проблема в том, что считанный штрихкод 18-ти значный (7 нулей + стандартный 11-значный артикул) и естесвенно найти ничего не удается, пока в строке поиска вручную не удалить лишние нули - в этом и есть проблема.
Задача такая - нажать CTRL+F, считать штрихкод сканером, нажеть "Найти все" и увидеть в результете поиска строку(и), с найденным артикулом. Как писал в 1ом сообщении, я пытался преобразовать столбец с артикулами из 11-значного в 18-значный функцией "сцепить" приписав 7 нулей вначале, визуально то я получил артикулы в формате 19-значном, но значение ф-ции не находится поиском через CTRL+F.Shell-68
Уф, получилось. В общем создал дополнительный столбец с преобразованными артикулами из 11 в 18-значный фомат с помощью =СЦЕПИТЬ("0000000";RC[-1]) Затем CTRL+F и в "Параметры" поиска изменил "Область поиска" с "формулы" на "значения". Теперь отсканированный штрихкод легко находит строки с преобразованными в нужный формат артикулами.
Спасибо всем откликнувшимся!
Задача минимум решена - могу находить нужные артикулы.)) Задача максимум - автоматизировать поиск как в 1С, когда при сканировании штрихкода поиск происходит автоматически. Т.е. в идеале при открытой книге эксель только считать сканером штрихкод и получить результат поиска (без нажатий CTRL+F, изменения обоасти поиска и нажатия "найти все"). Сдается мне, что такая задача под силу только программисту VBA.
Уф, получилось. В общем создал дополнительный столбец с преобразованными артикулами из 11 в 18-значный фомат с помощью =СЦЕПИТЬ("0000000";RC[-1]) Затем CTRL+F и в "Параметры" поиска изменил "Область поиска" с "формулы" на "значения". Теперь отсканированный штрихкод легко находит строки с преобразованными в нужный формат артикулами.
Спасибо всем откликнувшимся!
Задача минимум решена - могу находить нужные артикулы.)) Задача максимум - автоматизировать поиск как в 1С, когда при сканировании штрихкода поиск происходит автоматически. Т.е. в идеале при открытой книге эксель только считать сканером штрихкод и получить результат поиска (без нажатий CTRL+F, изменения обоасти поиска и нажатия "найти все"). Сдается мне, что такая задача под силу только программисту VBA.Shell-68
Shell-68, Вы ищите для каких целей? Посмотреть, что-то занести удалить ...... Также многое зависитот сканера, это сейчас штуки умные, даже просто так называемые клавиатурные , как правило имеют настройки програмируемые, но не суть. Основной вопрос первый, ибо например показать строку (значения строк) с другого листа - не проблема, если в ячейку отсканированный код заносится, даже перейти на нее по ссылке можно, используя
Код
HYPERLINK()
, найдя соответвующую строку и сгенерив адрес, но вот так чтоб перехватывать ввод с клавиатуры и автоматом распозновать, что это считался номер, после чего искать - проблема. Форму сделать, которая будет принимать значение и выхывать нужный поиск - можно. Делов на 5 минут -10 мин. Без приукрасов в приложении пример.
Shell-68, Вы ищите для каких целей? Посмотреть, что-то занести удалить ...... Также многое зависитот сканера, это сейчас штуки умные, даже просто так называемые клавиатурные , как правило имеют настройки програмируемые, но не суть. Основной вопрос первый, ибо например показать строку (значения строк) с другого листа - не проблема, если в ячейку отсканированный код заносится, даже перейти на нее по ссылке можно, используя
Код
HYPERLINK()
, найдя соответвующую строку и сгенерив адрес, но вот так чтоб перехватывать ввод с клавиатуры и автоматом распозновать, что это считался номер, после чего искать - проблема. Форму сделать, которая будет принимать значение и выхывать нужный поиск - можно. Делов на 5 минут -10 мин. Без приукрасов в приложении пример.bmv98rus
и какие проблемы приложить его сюда. Цитата Shell-68, 28.12.2016 в 01:28, в сообщении № 5 ( писал(а)): CTRL+F чёт я смысла в этом не понял...
Файл приложил. Смылс найти в файле нужный артикул, отсканировав штрихкод на товаре. Товара много, необходимо все отсканированные штрихкоды найти и оприходовать.
Вы ищите для каких целей? Посмотреть, что-то занести удалить ...... Также многое зависитот сканера, это сейчас штуки умные, даже просто так называемые клавиатурные , как правило имеют настройки програмируемые, но не суть. Основной вопрос первый, ибо например показать строку (значения строк) с другого листа - не проблема, если в ячейку отсканированный код заносится, даже перейти на нее по ссылке можно, используя
ГИПЕРССЫЛКА() , найдя соответвующую строку и сгенерив адрес, но вот так чтоб перехватывать ввод с клавиатуры и автоматом распозновать, что это считался номер, после чего искать - проблема. Форму сделать, которая будет принимать значение и выхывать нужный поиск - можно. Делов на 5 минут -10 мин. Без приукрасов в приложении пример.
Цель - оприходовать товар. Товара в основном мелкий, но его очень много. Мне необходимо найти в книге эксель строку с нужным артикулом и пометить, что позиция товара оприходована. Модель сканера свежая и высокотехнологичная CINO A770BT, только вот инструкция по программированию не на русском.
и какие проблемы приложить его сюда. Цитата Shell-68, 28.12.2016 в 01:28, в сообщении № 5 ( писал(а)): CTRL+F чёт я смысла в этом не понял...
Файл приложил. Смылс найти в файле нужный артикул, отсканировав штрихкод на товаре. Товара много, необходимо все отсканированные штрихкоды найти и оприходовать.
Вы ищите для каких целей? Посмотреть, что-то занести удалить ...... Также многое зависитот сканера, это сейчас штуки умные, даже просто так называемые клавиатурные , как правило имеют настройки програмируемые, но не суть. Основной вопрос первый, ибо например показать строку (значения строк) с другого листа - не проблема, если в ячейку отсканированный код заносится, даже перейти на нее по ссылке можно, используя
ГИПЕРССЫЛКА() , найдя соответвующую строку и сгенерив адрес, но вот так чтоб перехватывать ввод с клавиатуры и автоматом распозновать, что это считался номер, после чего искать - проблема. Форму сделать, которая будет принимать значение и выхывать нужный поиск - можно. Делов на 5 минут -10 мин. Без приукрасов в приложении пример.
Цель - оприходовать товар. Товара в основном мелкий, но его очень много. Мне необходимо найти в книге эксель строку с нужным артикулом и пометить, что позиция товара оприходована. Модель сканера свежая и высокотехнологичная CINO A770BT, только вот инструкция по программированию не на русском.Shell-68
Вы смотрели мой примитивный пример? Это поиск. Как открывать форму и как закрывать, нужно ли на ней вводить количество или при сканировании добавлять еденицу в счетчик товара - это вопрос ваш. Если сами не справляетесь, уверен в ветке платной работы вам помогут и быстро и качетсвенно.
P.S. Програмировать сканер бесполезно, я уже глянул. к слову найти инструкцию не проблема надо просто задать вопрос гуглу.
Shell-68,
Вы смотрели мой примитивный пример? Это поиск. Как открывать форму и как закрывать, нужно ли на ней вводить количество или при сканировании добавлять еденицу в счетчик товара - это вопрос ваш. Если сами не справляетесь, уверен в ветке платной работы вам помогут и быстро и качетсвенно.
P.S. Програмировать сканер бесполезно, я уже глянул. к слову найти инструкцию не проблема надо просто задать вопрос гуглу.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
bmv98rus, Да, посмотрел. То что для Вас примитивно, для меня не очень.)) В примере очень интересное окошко всплывает для поиска, и самое главное - считанный сканером 19-ти значный код находит соотвествующий 11-значный код в таблице, а именно это я и пытаюсь постичь - как сделать так, чтоб искало без нулей. Но к сожалению Ваш макрос находит лишь первое из совпадений, а не все.
bmv98rus, Да, посмотрел. То что для Вас примитивно, для меня не очень.)) В примере очень интересное окошко всплывает для поиска, и самое главное - считанный сканером 19-ти значный код находит соотвествующий 11-значный код в таблице, а именно это я и пытаюсь постичь - как сделать так, чтоб искало без нулей. Но к сожалению Ваш макрос находит лишь первое из совпадений, а не все.Shell-68
Сообщение отредактировал Shell-68 - Среда, 28.12.2016, 21:17
P.S. Програмировать сканер бесполезно, я уже глянул. к слову найти инструкцию не проблема надо просто задать вопрос гуглу.
В интерете лишь краткое руководство на русском языке. С его помощью я отключил передаваемый суффикс Return, т.к. при поиске через CTRL+F суффикс Return включает "найти далее", а не "найти все".
но вот так чтоб перехватывать ввод с клавиатуры и автоматом распозновать...
Да, Вы правы. Отслеживать постоянно ввод с клавиатуры (сканера) 19 чисел подряд и переходить к их поиску - слишком сложная задача. Теперь я понял, что мне действительно нужна некая вызываемая форма, как в Вашем примере, но способная отыскать все повторения артикула.
P.S. Програмировать сканер бесполезно, я уже глянул. к слову найти инструкцию не проблема надо просто задать вопрос гуглу.
В интерете лишь краткое руководство на русском языке. С его помощью я отключил передаваемый суффикс Return, т.к. при поиске через CTRL+F суффикс Return включает "найти далее", а не "найти все".
но вот так чтоб перехватывать ввод с клавиатуры и автоматом распозновать...
Да, Вы правы. Отслеживать постоянно ввод с клавиатуры (сканера) 19 чисел подряд и переходить к их поиску - слишком сложная задача. Теперь я понял, что мне действительно нужна некая вызываемая форма, как в Вашем примере, но способная отыскать все повторения артикула.Shell-68
Сообщение отредактировал Shell-68 - Среда, 28.12.2016, 21:25
Форму вызвать не проблема, при этом как раз что делать с найденным, это первичный вопрос. Клиент 2 1 43720170501 2 43720170501 ну отсканировали вы это и что далее? Именно от этого зависит и сложность формы и удобство работы. Также это есть у клиента 21. Может просто авто фильтр надо по найденному значению сделать? Смотрите ваш файл . Вызов формы повесил на ctr+f
Одно но, учитывая вопросы, вам не справится самостоятельно. Я не навязываю платные услуги, я предупреждаю.
Shell-68,
Форму вызвать не проблема, при этом как раз что делать с найденным, это первичный вопрос. Клиент 2 1 43720170501 2 43720170501 ну отсканировали вы это и что далее? Именно от этого зависит и сложность формы и удобство работы. Также это есть у клиента 21. Может просто авто фильтр надо по найденному значению сделать? Смотрите ваш файл . Вызов формы повесил на ctr+f
Одно но, учитывая вопросы, вам не справится самостоятельно. Я не навязываю платные услуги, я предупреждаю.bmv98rus
ну отсканировали вы это и что далее? Именно от этого зависит и сложность формы и удобство работы. Также это есть у клиента 21. Может просто авто фильтр надо по найденному значению сделать?
В том и дело, что артикулы повторяются и в результате поиска небходимо получать не только лишь первое совпадение, а поочередно каждое из совпадений либо все сразу. Моя автоматизация пока на начальном уровне, найденный артикул я помечаю цветом, и если первая строка в поиске уже помечана, соотвественно перехожу к следующему клиенту. Под конец оприходывания вижу, что именно недопоставленно по данный заявке и ищу со следующим приходом.
В Вашем файле макрос работал, в моем уже нет. В результате поиска исчезает вся таблица.
Нашел макрос и повесил на удобное сочетание я быстро.
ну отсканировали вы это и что далее? Именно от этого зависит и сложность формы и удобство работы. Также это есть у клиента 21. Может просто авто фильтр надо по найденному значению сделать?
В том и дело, что артикулы повторяются и в результате поиска небходимо получать не только лишь первое совпадение, а поочередно каждое из совпадений либо все сразу. Моя автоматизация пока на начальном уровне, найденный артикул я помечаю цветом, и если первая строка в поиске уже помечана, соотвественно перехожу к следующему клиенту. Под конец оприходывания вижу, что именно недопоставленно по данный заявке и ищу со следующим приходом.
В Вашем файле макрос работал, в моем уже нет. В результате поиска исчезает вся таблица.Shell-68
Сообщение отредактировал Shell-68 - Среда, 28.12.2016, 22:24
В Вашем первом примере поиск выдавал лишь первое совпадение, при повторном поиске не искал следующее совпадение, а оставался на первом. К сожалению от такого поиска мне нет толку. Но мне очень интересно, как Ваш макрос преобразовывает 18-значное чило в 11-значное, чтобы найти совпадения.
В Вашем первом примере поиск выдавал лишь первое совпадение, при повторном поиске не искал следующее совпадение, а оставался на первом. К сожалению от такого поиска мне нет толку. Но мне очень интересно, как Ваш макрос преобразовывает 18-значное чило в 11-значное, чтобы найти совпадения.Shell-68
Да, я уже докопался до кода и немного погуглил про "value". Азы программирования еще остались в памяти. Я понимаю, что делает Ваш код, но писать самому знаний не хватит.
Поиск действительно работает, а таблица убиралась из результата поиска, т.к. я вводил несуществующий артикул. Спасибо большое, но вывод результатов поиска мне всю дальнейшую работу останавливает - я не вижу для кого из клиентов я оприходовал товар и не понимаю кому отложить товар. В результате поиска перед глазами должна оставаться вся книга, просто активная ячейка должна переходить на найденный артикул (как было в Вашем самом первом примере), а окно поиска должно закрываться, чтобы я мог как-то отредактировать строку с найденным артикулом. Только при повторном поиске нужно искать дальше до конца книги и так по кругу. Кроме того, при отсутствии совпадений желательно уведомление, что артикул не найден. Готов отблагодарить за помощь и терпение.) Если можете дописать код, включите его пожалуйста в мою "рыбу" во вложении.
Да, я уже докопался до кода и немного погуглил про "value". Азы программирования еще остались в памяти. Я понимаю, что делает Ваш код, но писать самому знаний не хватит.
Поиск действительно работает, а таблица убиралась из результата поиска, т.к. я вводил несуществующий артикул. Спасибо большое, но вывод результатов поиска мне всю дальнейшую работу останавливает - я не вижу для кого из клиентов я оприходовал товар и не понимаю кому отложить товар. В результате поиска перед глазами должна оставаться вся книга, просто активная ячейка должна переходить на найденный артикул (как было в Вашем самом первом примере), а окно поиска должно закрываться, чтобы я мог как-то отредактировать строку с найденным артикулом. Только при повторном поиске нужно искать дальше до конца книги и так по кругу. Кроме того, при отсутствии совпадений желательно уведомление, что артикул не найден. Готов отблагодарить за помощь и терпение.) Если можете дописать код, включите его пожалуйста в мою "рыбу" во вложении.Shell-68
Разобрался как сбросить фильтр и вернуться ко всей таблице. Ваш вывод результата поиска действительно очень удобен! При четырех совпадениях он выдает 4 строки, которые я могу редактировать и не нужно 4 раза повторять поиск. Единственная проблема, что я не вижу имя клиента, а это важно. Есть способ перед каждой строкой в результате поиска вывести "шапку" с именем клиента?
Разобрался как сбросить фильтр и вернуться ко всей таблице. Ваш вывод результата поиска действительно очень удобен! При четырех совпадениях он выдает 4 строки, которые я могу редактировать и не нужно 4 раза повторять поиск. Единственная проблема, что я не вижу имя клиента, а это важно. Есть способ перед каждой строкой в результате поиска вывести "шапку" с именем клиента?Shell-68
Способ всегда есть. на колько он кастылем сделан - трудно сказать. Идея следующая, пометить строку с именем клиента именно в колонке с искомыми номерами, но метка должна появляться только при вилимости строки с искомым номером.
Сложнее всего определить область данных конкретного клиента. В этой модели ориентируемся на строку с именем Клиента имеющего следующий номер, а для последнего по "итого". Далее счичтаем значения с номерам функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2 , которая считает только в видимых ячейках. Если количество номеров больше 0 в блоке клиента, то метим строку точкой "." или иным образом. Далее для поиска применяется фильтр два раза, сперва по искомому значени тогда точки появляются только у нужных "клиентов"но не видны, а потом и по искомому номеру или ".". Получаем искомое. добавил отклбчение фильтрации при вызове формы.
Shell-68,
Способ всегда есть. на колько он кастылем сделан - трудно сказать. Идея следующая, пометить строку с именем клиента именно в колонке с искомыми номерами, но метка должна появляться только при вилимости строки с искомым номером.
Сложнее всего определить область данных конкретного клиента. В этой модели ориентируемся на строку с именем Клиента имеющего следующий номер, а для последнего по "итого". Далее счичтаем значения с номерам функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2 , которая считает только в видимых ячейках. Если количество номеров больше 0 в блоке клиента, то метим строку точкой "." или иным образом. Далее для поиска применяется фильтр два раза, сперва по искомому значени тогда точки появляются только у нужных "клиентов"но не видны, а потом и по искомому номеру или ".". Получаем искомое. добавил отклбчение фильтрации при вызове формы.bmv98rus
В реале у клиентов нет номеров. А нельзя ли при нахождении искомого артикула, найти в обратном порядке пустую ячейку? Строка с пустой ячейкой в столбце артикулов и будет строкой с именем клиента. И соответственно вывести в результате поиска сначала строку с именем клиента, а ниже строку с найденным артикулом, и т.д. по всем найденным артикулам?
В реале у клиентов нет номеров. А нельзя ли при нахождении искомого артикула, найти в обратном порядке пустую ячейку? Строка с пустой ячейкой в столбце артикулов и будет строкой с именем клиента. И соответственно вывести в результате поиска сначала строку с именем клиента, а ниже строку с найденным артикулом, и т.д. по всем найденным артикулам?Shell-68