我将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
答案 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