根据列表框选择从 table 中删除行

Delete rows from table based on listbox selection

我将 lstPrev 作为 ActiveX 列表框。它有 10 行数据。一旦用户 select 一行(单个 select)并按下删除按钮,它应该删除 dbTable 中的相应行。

Sub DelRows()

     Dim i As Integer

     Set i = ActiveSheet.lstPrev.ListIndex + 1 'to ensure column headers are not deleted

     dbTable.ListRows(i).Delete

End Sub

首先,您 Set 不是整数值。 Set 适用于范围之类的对象。要为 Integer 变量赋值,只需执行 i =

其次,要引用您的 Table,请使用 ListObjects

这会起作用:

Sub DelRows()

     Dim i As Integer

     i = ActiveSheet.lstPrev.ListIndex + 1 'to ensure column headers are not deleted

     ListObjects("dbTable").ListRows(i).Delete

End Sub