代码不是单独填充表格单元,而是填充整个列

我有一个button,从列表框中获取数据,并将其放入我的表的特定单元格中。 我现在的问题是,将值插入单元格时,它会填充单元格所在的整列而不是特定的单元格。

这里是button的代码:

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 

这是我运行button后的样子。
这个

我希望它只填写Item#中的第一个单元格,然后填充同一行中的Specs单元格。 然后沿着每个单元格的行,并填写下一个项目。 相反,每件物品都会被填满旧物品。

如果您在结构化表格( 也称为 ListObject对象 )中定位单个单元格,则需要旋转AutoCorrect.AutoFillFormulasInLists属性 。

 Application.AutoCorrect.AutoFillFormulasInLists = False 

这也可以通过Alt + FTPAlt + A来实现,然后转到“input格式”选项卡上的“ 自动套用格式”,并取消选中表格中的填充公式以创build计算列

如果希望使用此应用程序范围的选项,可以select在子过程结束时将其重新打开。

 Application.AutoCorrect.AutoFillFormulasInLists = True