Кнопка для автоматического создания записи в таблице - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать кнопку с макросом, назначенным в excel, который автоматически генерирует новую запись с UID.

Например,

Текущая таблица

enter image description here

Пользователь нажимает кнопку «Новая запись»

Обновленная таблица

enter image description here

Можно ли это сделать? Текущий код может только добавить новую пустую запись.

Sheets("Sheet1").Range("A3").Select
ActiveCell.EntireRow.Insert Shift:=xlUp

Мы будем благодарны за любые советы.

1 Ответ

1 голос
/ 26 мая 2020

Есть небольшие взломы, потому что уже поздно и я устал, но это работает. При необходимости измените имя листа и таблицы.

Option Explicit

Sub fillNext()

Dim myTable As ListObject
Set myTable = Worksheets("Sheet1").ListObjects("Table1")

Dim myColumn As ListColumn
Set myColumn = myTable.ListColumns("UID")

With myColumn.DataBodyRange

    Dim order As String
    order = .Cells(.Rows.Count, 1)
    order = Mid(order, InStr(InStr(order, "-") + 1, order, "-") + 1, 255)

    myTable.ListRows.Add

    .Cells(.Rows.Count + 1, 1).Value = "ID-YEAR-" & Format(CStr(CLng(order) + 1), "000")

End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...