Мне бы хотелось получить руководство / помощь по кодированию VBA-кодированного решения для моего сценария, подробности приведены ниже. Мне очень комфортно с VBA-кодированием - я действительно ищу совет о том, как подойти к проблеме, а не какое-либо конкретное решение.
В моем отделе очень завидная задача ежедневного изготовления этикеток. Мы получаем электронную таблицу от Production, в которой есть ячейка / ячейки с серийными номерами для печати (примеры ниже). Числа часто не являются смежными, но основной (созданный человеком) «формат» одинаков (дефисы для диапазонов, запятые для отдельных чисел). Серийные номера в приведенном ниже примере состоят из 6 цифр, но часто имеют разную длину, что усложняет задачу. Я ищу отзывы о том, как в конечном итоге разобрать cell.text в полный список серийных номеров, которые в конечном итоге могут быть использованы в качестве источника для программного обеспечения нашего принтера этикеток.
Опять же, я думаю, что у меня есть возможность фактически закодировать это; Я спрашиваю, как подходить к синтаксическому анализу cell.value (s), определять пробелы, запятые и дефисы по мере необходимости и получать список серийных номеров в любом пригодном для использования формате. Я могу разделять запятыми и кодировать диапазон до и после дефиса. Как мне подойти к 6-значному формату, а также к переходу на первые три символа (364-365, может быть много).
ПРИМЕР РАСПРЕДЕЛИТЕЛЬНОЙ КЛЕТКИ. ЗНАЧЕНИЕ: " 364701-703, 705, 706, 708-710, 365100-104, 121 " - запрос на 14 меток:
ОЖИДАЕМЫЙ РАСПРОСТРАНЕННЫЙ РЕЗУЛЬТАТ: 364701, 364702, 36703, 364705, 364706, 364708, 364709, 364710, 365100, 365101, 365102, 365013, 350104, 365121