所以我写了我需要的代码,它的工作方式如何。我唯一的问题是删除空白行并在我的for循环中的下一次迭代之前将剩余数据移位。如果任何人有耳朵的建议。我的理由是,一旦删除了重复项,就会在其位置留下空白行,因此当计算numrow时,currentregion值会发生变化。
Option Explicit
Public Sub dup()
Dim i As Integer
Dim updater As Worksheet
Dim LastRow As Range
Dim LastColumn As Long
Dim startcell As Range
Dim numrow As Long
Dim rcell As String
Dim LastCell As Range
Set updater = Worksheets("DbVisualizer Personal")
'-----------------------------------------------------
numrow = updater.Range("A4").CurrentRegion.rows.Count
For i = 4 To numrow
rcell = updater.Cells(i, 30)
Set startcell = updater.Cells(i, 1)
'Set LastRow = startcell.Offset(1, 0)
Set LastCell = updater.Cells(i + 10, 35)
If rcell = "Y" Then
Else
updater.Range(startcell.Address, LastCell.Address).RemoveDuplicates Columns:=Array(7, 17), Header:=xlNo
End If
Next i
End Sub
答案 0 :(得分:0)
我建议使用sort函数对数据进行排序,因为这样会自动将空白移到底部,并将所有数据移到顶部。