3

我在填表时遇到了问题。

更改组合框后,表格将填充数据。首先,我想删除表中的数据,然后添加我想要的数据。

我得到的是这个(这只是代码的一部分,集合已经充满了数据)

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它确实会用我想要的数据填充表格,但如果我更改组合框,新数据将添加到底部,而不是先清除表格。

4

1 回答 1

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
于 2015-12-14T11:36:19.573 回答