我填写表格时遇到问题。
更改组合框后,表格将填充数据。首先,我想删除表格中的数据,然后添加我想要的数据。
我得到的是这(这只是代码的一部分,集合已经填充了数据)
Dim TableListObject As ListObject
Dim TableObjectRow As ListRow
Dim i As Integer
Dim CollWerknemer as Collection
Set TableListObject = TheSheet.ListObjects(1)
Set TableObjectRow = TableListObject.ListRows.Add
TableListObject.DataBodyRange.Delete
i = 1
For Each vNum In CollWerknemer
TableObjectRow.Range(i, 1) = vNum
i = i + 1
Next vNum
问题是它确实删除了表但没有添加任何内容。
如果我从代码中排除TableListObject.DataBodyRange.Delete
,它会用我想要的数据填充表格,但是如果我更改了我的组合框,新数据将添加到底部而不是先清除表格。“ / p>
答案 0 :(得分:0)
首先,您可以迭代当前表中的每一行,并删除其内容,然后使用ListRows.Add
With outTBL
If .ListRows.Count >= 1 Then
.DataBodyRange.Delete
End If
End With
Dim row as ListRow
Set row = outTBL.ListRows.Add
row.Range(x, x) = vNum