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

时间:2020-09-18 08:22:14

标签: excel vba listbox

我将lstPrev用作ActiveX列表框。它具有10行数据。用户选择一行(单选)并按Delete键后,应删除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

1 个答案:

答案 0 :(得分:2)

首先,您没有Set整数值。 Set适用于范围之类的对象。要将值分配给Integer变量,只需执行i =

第二,要引用您的表格,请使用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