當前位置:首頁 > 科技 > 正文

Word VBA技術:删除表格中内容相同的重複行

excelperfect
标簽:Word VBA 本示例演示如何使用代碼删除已排序表中第1列内容相同的行,代碼如下:
Sub DeleteTableDuplicateRows() Dim objTable As Table Dim objRow As Range Dim objNextRow As Range Dim i As Long
'指定想要操作的表格 Set objTable = ActiveDocument.Tables(1)
'設置對象變量為第一行 Set objRow = objTable.Rows(1).Range
'關閉屏幕刷新 Application.ScreenUpdating = False
For i = 1 To objTable.Rows.Count - 1 '設置對象變量為下一行 Set objNextRow = objRow.Next(wdRow)
'比較表格第1列的文本 IfobjRow.Cells(1).Range= objNextRow.Cells(1).RangeThen '如果相同則删除第2行 objNextRow.Rows(1).Delete Else '如果不相同則移到下一行 Set objRow = objNextRow End If Next i
'打開屏幕更新 Application.ScreenUpdating = True End Sub
上面的代碼區分大小寫,即第一列中内容相同但大小寫不同不會被删除。下面的代碼操作時不區分大小寫:
Sub DeleteTableDuplicateRows1() Dim objTable As Table Dim objRow As Range Dim objNextRow As Range Dim i As Long Dim strCell As String Dim strCellNext As String
'指定想要操作的表格 Set objTable = ActiveDocument.Tables(1)
'設置對象變量為第一行 Set objRow = objTable.Rows(1).Range
'關閉屏幕刷新 Application.ScreenUpdating = False
For i = 1 To objTable.Rows.Count - 1 '設置對象變量為下一行 Set objNextRow = objRow.Next(wdRow)
strCell= LCase(objRow.Cells(1).Range.Text)strCellNext= LCase(objNextRow.Cells(1).Range.Text)
If strCell = strCellNext Then objNextRow.Rows(1).Delete Else Set objRow = objNextRow End If Next i
'打開屏幕更新 Application.ScreenUpdating = TrueEnd Sub
本示例演示了如何使用VBA代碼在Word表格的單元格中移動的方法。那麼,對于沒有排序過的表格,如何使用VBA删除重複行呢? 歡迎在下面留言,完善本文内容,讓更多的人學到更完美的知識。
歡迎到知識星球:完美Excel社群,進行技術交流和提問,獲取更多電子資料,并通過社群加入專門的微信讨論群,更方便交流。

你可能想看:

有話要說...

取消
掃碼支持 支付碼