Как добавить строку в таблицу с помощью VBA в Excel, где 1-й столбец имеет инкрементный индекс - PullRequest
0 голосов
/ 10 октября 2019

Я настраиваю таблицу в Excel, которая должна динамически заполняться с помощью макросов. Таблица состоит из 2 столбцов, первый из которых должен быть столбцом индекса, а второй - столбцом значений. Как вы можете видеть в моем коде, 2-й столбец работает нормально. Однако я не знаю, как «предварительно заполнить» первый столбец так, чтобы результатом был столбец индекса.

Смотрите на рисунке ниже, что конкретно я имею в виду.

table

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

Private Sub CommandButton1_Click()

    Dim wb As Workbook: Set wb = ThisWorkbook
    Dim ws As Worksheet
    Set ws = wb.Sheets("Table")

    If ws Is Nothing Then
        Exit Sub 'possible way of handing no worksheet was set
    End If

    Dim tbl As ListObject
    Set tbl = ws.ListObjects("FAB_data")

    Dim newrow As ListRow
    Set newrow = tbl.ListRows.Add

    With newrow
        .Range(1) = 'index_function_goes_here'
        .Range(2) = wb.Sheets("Oct").Range("AG6")
    End With

End Sub

1 Ответ

2 голосов
/ 10 октября 2019

использовать

.Range(1) = .Range.Row - .Parent.HeaderRowRange.Row - 1

или

.Range(1) = .Range(1).Offset(-1).Value + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...