У меня есть кнопка, которая берет данные из списка и помещает их в определенные ячейки моей таблицы. Моя проблема прямо сейчас заключается в том, чтобы вставить значение в ячейки, которое заполняет весь столбец, в котором находится ячейка, вместо конкретной ячейки.Код, не заполняющий ячейки таблицы, индивидуально, заполняя целые столбцы Вместо
Вот код для кнопки:
Private Sub cbSubmit_Click()
Dim i As Long
Dim v As Variant
Dim vTable() As Variant
Set inventoryTable = cSheet.ListObjects("inventory_table")
colItemID = inventoryTable.ListColumns("Item #").Index
colSpecs = inventoryTable.ListColumns("Specs").Index
v = inventoryTable.DataBodyRange.Rows
ReDim vTable(1 To UBound(v, 1), 1 To 4)
For i = 0 To lbItemList.ListCount - 1
vTable(i + 1, 1) = "=DATA!" & lbItemList.List(i, 2)
If specLink = "" Then
Exit For
Else
vTable(i + 1, 4) = lbItemList.List(i, 1)
End If
inventoryTable.DataBodyRange(i + 1, colItemID).Value = vTable(i + 1, 1)
inventoryTable.DataBodyRange(i + 1, colSpecs).Value = vTable(i + 1, 4)
Next
Unload Me
End Sub
Вот как это выглядит после того, как я запускаю кнопку.
Я хочу, чтобы он заполнил только первую ячейку в Item #, а затем ячейку в Specs в той же строке. Затем спуститесь по строкам каждой ячейки и заполните следующий элемент. Вместо этого каждый предмет заполняется поверх старых предметов.
'DataBodyRange' [представляет диапазон значений, исключая строку заголовка, в таблице. Только для чтения.] (Https://msdn.microsoft.com/en-us/library/office/ff841252.aspx) – findwindow
Таким образом, диапазон данных будет выбирать и редактировать весь диапазон, а не конкретную ячейку, даже если она определена ? Есть ли способ сузить его до клетки? Я попробовал несколько способов (использовал диапазон вместо databodyrange, я попробовал «InventoryTable.listcolumns» («Item #»). Databodyrange (i + 1, colItemID) .value ',' inventoryTable.cells 'и т. Д.) И ничего не работало , – JED