Excel 如何删除ListObject中的活动表行?
我有一个userform,用于将新行数据输入到同步到Sharepoint列表的动态表中。我只需要删除表中活动行的VBA代码 我知道此代码用于删除表中的特定行:Excel 如何删除ListObject中的活动表行?,excel,vba,Excel,Vba,我有一个userform,用于将新行数据输入到同步到Sharepoint列表的动态表中。我只需要删除表中活动行的VBA代码 我知道此代码用于删除表中的特定行: Selection.ListObject.ListRows(8).删除 但是我需要删除活动行,并且只删除表中的活动行…以下是删除活动行的代码 x = ActiveCell.Row Rows(x).Select Selection.ActiveRow.Delete 这有帮助吗?在表格或网格中工作。您可以使用以下方法获取活动表格行: Sel
Selection.ListObject.ListRows(8).删除
但是我需要删除活动行,并且只删除表中的活动行…以下是删除活动行的代码
x = ActiveCell.Row
Rows(x).Select
Selection.ActiveRow.Delete
这有帮助吗?在表格或网格中工作。您可以使用以下方法获取活动表格行:
Selection.Row-Selection.ListObject.Range.Row
将其与您所拥有的结合起来:
Dim ActiveTableRow尽可能长
ActiveTableRow=Selection.Row-Selection.ListObject.Range.Row
Selection.ListObject.ListRows(ActiveTableRow).Delete
避免使用Select
和Activate
可能是成为更好的VBA开发人员的第一步-
因此,最简单的方法是:
Sub TestMe()
Cells(ActiveCell.Row, 1).EntireRow.Delete
End Sub
但是,如果您想更进一步,则可以创建一个更通用的函数:
Sub DeleteRow(rowNumber As Long, _
Optional ws As Worksheet, _
Optional wb As Workbook)
If wb Is Nothing Then
Set wb = ThisWorkbook
End If
If ws Is Nothing Then
Set ws = ActiveSheet
End If
ws.Cells(rowNumber, 1).EntireRow.Delete
End Sub
Sub TestMe()
DeleteRow ActiveCell.Row
End Sub
您如何知道表中哪一行是活动行ActiveCell.Row
可以告诉您工作表的哪一行是活动的。我知道如何获取活动行,我需要删除表中活动listrow的代码。不是通过选择整行或一系列单元格,我需要删除表格的实际列表行。我知道如何删除活动行。不过,我希望做的是从表中删除列表行。删除活动行只会清除活动行所有单元格中的内容。我需要从表中删除一行,该行必须是活动行。