Excel:无法删除表行

qacovj5a  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(176)

我正在Windows 11版本22H2上运行Excel(M365版本2211)。
在我的电子表格中有一个表格(名为"ToDeleteFromDL"),我不能删除行。当我右键单击表格的一个单元格时,唯一的选项是删除列(我不想删除)或整个工作表行(我也不想删除)。随附右键单击菜单的屏幕截图。
同样的情况也发生在代码中:

Dim ToDelete As ListObject
Set ToDelete = Sheets("Diff").ListObjects("ToDeleteFromDL")

'Delete all rows from ToDeleteFromDL table except header
With ToDelete
    If Not .DataBodyRange Is Nothing Then
        .DataBodyRange.Delete
    End If
End With

当我运行这段代码时,会弹出一条消息,询问"删除整个表行",对此,我必须再次回答"取消",因为我只想删除表行。
这段代码在几天前一直运行到:我唯一想到的是最近安装了Office的更新。
是否有人有同样的问题或知道更新的问题?
先谢谢你
[

]

ohtdti5x

ohtdti5x1#

删除Excel表格的数据体范围

With ToDelete
    If Not .DataBodyRange Is Nothing Then
        If .ShowAutoFilter Then ' is turned on
            ' Clear existing filters.
            If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData
        'Else ' is turned off; do nothing
        End If
        ' Delete.
        .DataBodyRange.Delete xlShiftUp
    'Else ' is already deleted; do nothing
    End If
End With

为什么会有并发症?

  • 筛选表时不能删除行。
  • 如果在自动筛选器关闭(无箭头)时使用.AutoFilter.FilterMode,将发生错误。
  • 我曾经尝试过使用xlShiftToLeft,当整个表消失时,没有任何警告(alert)。documentation声明 “如果省略此参数,Microsoft Excel将根据范围的形状来决定。"。它没有特别提到Excel表。我们能相信Excel会做出正确的决定吗?可能是这样,但为什么要冒险呢?

相关问题