Доброе утро и заранее спасибо,
Я пытаюсь запустить макрос VBA, чтобы мои конечные пользователи могли сканировать штрих-коды в Excel, а затем с помощью командной кнопки разбить штрих-код на типы компонентов, используя макрос vba text-to-columns, который затем разбивает его на Item, 1st page and last страница в коробке.
В связи с тем, что существует 3 разных длины штрих-кода, которые необходимо разделить в разных местах, в качестве меры ограничения я создал 3 вкладки в книге, чтобы они могли сканировать и разбивать элемент.
В идеале я хотел бы иметь возможность делать все это на одном листе, и код должен распознавать, что нужно разделить и где.
Ниже приведена кодировка, которую я получил для работы с одним из элементов, но он распознает только 1-й набор массивов, а не последующие 3. Может кто-нибудь сказать мне, как я могу добавить дополнительные массивы для разделения различных штрих-кодов, в правильные позиции
Sub BarcodeSplit()
On Error GoTo myEnd:
' BarcodeSplit Macro
'
' Keyboard Shortcut: Ctrl+b
'
ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.Select
ActiveCell.Select
ActiveCell.FormulaR1C1 = "Item"
ActiveCell.Offset(1, -1).Range("A1").Select
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("B2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(10, 2), Array(17, 2), Array(28, 2)), _
FieldInfo:=Array(Array(0, 2), Array(10, 2), Array(17, 2), Array(28, 2)), _
FieldInfo:=Array(Array(0, 2), Array(14, 2), Array(21, 2), Array(32, 2)), _
FieldInfo:=Array(Array(0, 2), Array(13, 2), Array(20, 2), Array(31, 2)), _
TrailingMinusNumbers:=True
myEnd:
End Sub
Ниже приведен пример штрих-кодов и того, как будет выглядеть разделение текста на столбцы
FP10SS200011915113111022001131110240004 FP10ss2000 1191511 31110220011 31110240004
FP10D400000031256232508001662325120000 FP10D40000 0031256 23250800166 2325120000
FP10MDA-SS050000207496320374001463203745000 FP10MDA-SS05 0020749 63203740014 63203745000
FP10PCDSS050000005566801250501068012510006 FP10PCDSS0500 0000556 68012505010 68012510006
Заранее спасибо, ребята.
Martin