Как увеличить только последнюю цифру строки серийного номера в Excel VBA?

Я новичок в vba и пытаюсь написать алгоритм сканера штрих-кода. Сейчас все работает отлично, но я хочу сохранить серийные номера в моей таблице exel, и их структура должна быть как «A151000». Я хочу, чтобы с каждым штрих-кодом, введенным в ячейку с полем ввода, также был назначен серийный номер. например, когда новая запись (штрих-код), написанная в столбце CI, требуется в серийных номерах столбца B, последняя цифра увеличивается на 1 и сохраняется в этой ячейке автоматически. Прямо сейчас я могу перетащить ячейку из угла, а exel увеличивает последнюю цифру. Как я могу инициировать это с помощью новых записей автоматически? Заранее спасибо.

A151000 A151001 A151002 ... 

 Sub DataInput() Dim SearchTarget As String Dim myRow As Long Dim Rng As Range Static PrevCell As Range Dim FoundCell As Range Dim CurCell As Range Dim a As String Dim Target As Range Dim buttonclick As Boolean V = True If PrevCell Is Nothing Then myRow = Selection.Row Set PrevCell = Range("C" & myRow) End If Set Rng = Range("C:C,C:C") 'Columns for search defined here With Rng Set FoundCell = .Cells.Find(What:=SearchTarget, _ After:=PrevCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _ MatchCase:=True) End With Dim Eingabezahl As String Do While Eingabezahl! = "" Eingabezahl = InputBox("Last barcode scanned" & " " & Eingabezahl) Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1) = Eingabezahl Range("D" & Range("D" & Rows.Count).End(xlUp).Row + 1) = Now() Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1) = "VALID" Loop End Sub 

    Чтобы использовать функцию автозаполнения и не изменять исходный код, вы можете просто добавить в автозаполнение в своем суб:

     Dim Eingabezahl As String Dim rngLastBCell As Range Do While Eingabezahl = "" Eingabezahl = InputBox("Last barcode scanned" & " " & Eingabezahl) Set rngLastBCell = Range("B" & Rows.Count).End(xlUp) rngLastBCell.AutoFill Destination:=Range(rngLastBCell, rngLastBCell.Offset(1)), Type:=xlFillDefault Range("C" & Range("C" & Rows.Count).End(xlUp).Row + 1) = Eingabezahl Range("D" & Range("D" & Rows.Count).End(xlUp).Row + 1) = Now() Range("E" & Range("E" & Rows.Count).End(xlUp).Row + 1) = "VALID" Loop 

    Или вы можете использовать следующее, используя ту же концепцию (автозаполнение), но конденсируя ваши вызовы на рабочий лист в одну строку:

     Dim Eingabezahl As String Dim rngLastBCell As Range Do While Eingabezahl = "" Eingabezahl = InputBox("Last barcode scanned" & " " & Eingabezahl) Set rngLastBCell = Range("B" & Rows.Count).End(xlUp) rngLastBCell.AutoFill Destination:=Range(rngLastBCell, rngLastBCell.Offset(1)), Type:=xlFillDefault rngLastBCell.Offset(1, 1).Resize(, 3) = Array(Eingabezahl, Now(), "VALID") Loop 

    Хотя я бы рекомендовал просто использовать appenending текущей строки до конца вашего серийного номера и не делать столько вызовов на листе, используя массив:

     Dim rngB As Range Dim Eingabezahl As String Dim SerialBase As String SerialBase = "A15100" Do While Eingabezahl = "" Eingabezahl = InputBox("Last barcode scanned" & " " & Eingabezahl) Set rngB = Range("B" & Rows.Count).End(xlUp).Offset(1) rngB.Resize(, 4).Value = Array(SerialBase & rngB.Row, Eingabezahl, Now(), "VALID") Loop 
    Interesting Posts

    Сохранить как CSV в режиме макросъемки – VBA 2010

    Вот несколько кода Applescript для взаимодействия с Microsoft Excel на Snow Leopard – Как добавить недостающие функции

    Вставить формулу в новую строку в excel с помощью C #, используя get_Range

    Форматирование даты VBA с английской аббревиатурой

    Автоматическое обновление вычисленных полей (таблица сводной таблицы Excel)

    Функция поиска VBA не работает во втором запуске макроса

    Понимание использования словарей

    Создайте надлежащий файл данных из списка матриц после импорта файла .xlsx

    Разница между Thisworkbook.name и Activeworkbook.name в VBA

    excel run-time error 1004 имя поля сводной таблицы недействительно

    Поставщик данных OleDB не найден. VBA / Excel

    Поиск фразы в Word из Excel (Office 2013)

    Объект VBA InternetExplorer не получает весь HTML-код

    Как использовать разные цвета текстов в одной ячейке Excel с помощью ClosedXML?

    VBA Excel Copy Range из уже автофильтрованного диапазона

    Давайте будем гением компьютера.