我有一个按钮,可以从列表框中获取数据并将其放入表格的特定单元格中。我现在的问题是将值插入单元格时,它会填充单元格所在的整个列而不是特定单元格。
这是按钮的代码:
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 中的单元格。然后沿着每个单元格的行向下并填写下一项。相反,每个项目都在旧项目之上填充。