【问题标题】:Delete Multiple Rows from Table从表中删除多行
【发布时间】:2017-04-24 19:34:18
【问题描述】:

当前运行 Excel 2013。我的电子表格最近变成了一个表格,它有几千行数据。在我按日期范围过滤然后删除某些行之前,我使用 Find & Select->Go To Special->Visible cells 仅选择所有可见单元格,而不是删除被过滤掉的行。

显然我不能删除多行作为一个表,有没有办法解决这个问题?该选项显示为灰色,快捷键 ctrl+- 不起作用,我已尝试按照上一个线程更改 regedit 键。

将信息复制到非表格工作表中,编辑,复制回原始文件并重新格式化为表格,这是我的悲惨命运吗?请告诉我不是这样。

screen crop of the grayed out option after selecting 'visible cells only

【问题讨论】:

  • 循环遍历 SpecialCells(xlCellsTypeVisible) 的区域,内部循环遍历每个区域中的每一行。将行收集到联合中,然后删除联合。
  • 所以没有办法在功能区/右键单击中进行简单的更改,它必须是VBA宏?我不太熟悉 SpecialCells 和循环,也不太熟悉联合。 this post 会帮助循环还是我离基地很远?我还添加了一张图片来帮助缩小我想要做的事情。

标签: excel excel-2013


【解决方案1】:

试试:

  • 左键单击屏幕左侧的行号可选择整行。之后,右键单击行号会弹出一个菜单,您可以在其中单击删除。
  • 可以通过按住 ctrl 或按住 shift 的同时单击行号来选择多行。然后右键单击任何行号并单击删除应删除所有选定的行。
  • 对表格进行排序可以更轻松地选择多行。

【讨论】:

  • 您不能在 Excel 的表格中执行此操作。
【解决方案2】:

这会有所帮助

Private Sub imperecheaza_Click() {
 Dim ws As Worksheet
  Dim Rand As Long
  Set ws = Worksheets("BD_IR")    
  Rand = 3
   Do While ws.Cells(Rand, 4).Value <> "" And Rand < 65000
   If ws.Cells(Rand, 4).Value = gksluri.Value * 1 And ws.Cells(Rand, 5).Value = gksluri.List(gksluri.ListIndex, 1) * 1 Then
     ws.Rows(Rand) = ""    '(here you will delete entire Row)
     gksluri.RemoveItem gksluri.ListIndex
     Exit Do
     End If
   Rand = Rand + 1
  Loop
 End Sub

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多