前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Word VBA技术:删除表格中内容相同的重复行(加强版)

Word VBA技术:删除表格中内容相同的重复行(加强版)

作者头像
fanjy
发布2023-02-24 20:48:31
发布2023-02-24 20:48:31
2.6K00
代码可运行
举报
文章被收录于专栏:完美Excel完美Excel
运行总次数:0
代码可运行

标签:Word VBA

在《Word VBA技术:删除表格中内容相同的重复行》中,我们演示了如何使用代码删除已排序表中第1列内容相同的行。然而,如果表格中第1列没有排序,那么如何删除这列中内容相同的行呢?

对上篇文章中介绍的代码稍作调整,就可以实现删除列中相同内容的行的任务。代码如下:

代码语言:javascript
代码运行次数:0
复制
Sub DeleteTableDuplicateRowsPlus()
  Dim objTable As Table
  Dim objRow As Range
  Dim objPreviousRow As Range
  Dim i As Long
  Dim j As Long
  Dim iMax As Long
  Dim strLastRowCell As String
  Dim strCell As String
  Dim strCellPrevious As String

  '指定想要操作的表格
  Set objTable = ActiveDocument.Tables(1)

  '关闭屏幕刷新
   Application.ScreenUpdating = False

  For i = objTable.Rows.Count To 2 Step -1
    '设置变量为表格最后一行
    Set objRow = objTable.Rows(i).Range
    strLastRowCell = LCase(objRow.Cells(1).Range.Text)

    For j = i - 1 To 1 Step -1
      '设置对象变量为前一行
      Set objPreviousRow = objRow.Previous(wdRow)
      strCellPrevious = LCase(objPreviousRow.Cells(1).Range.Text)

      If strLastRowCell = strCellPrevious Then
          Set objRow = objPreviousRow.Next(wdRow)
          objPreviousRow.Rows(1).Delete
      Else
          Set objRow = objPreviousRow
      End If
    Next j
  Next i

 '打开屏幕更新
  Application.ScreenUpdating = True
End Sub

代码从表格最后一行开始,依次遍历表格中的所有行并对第一列中的内容进行比较,删除具有相同内容的行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档