excel VBA在工作表中查找重复的条目

时间:2013-11-22 17:26:32

标签: excel vba excel-vba

我的代码:

For i = 1 To iRowNumber
 If Cells(i, x).Value > 1 Then

     Cells(i, 2).Copy
     Sheets(1).Select
     Cells(1, 1).Value = Now
     Cells(1, 2).Value = "Duplicate"
     Cells(1, 4).Select
     ActiveSheet.Paste
     Cells(1, 3).Value = Mid(Cells(1, 4), 5, 4)

 End If
Next i
x=x+1

条件:

表(2)> 130916001,130916001000009,1'〜>检查第3列是否超过1

预期结果:

表(1)第一行>时间,“重复”,1600,130916001000009

sheet(2)130916001,130916001000009,2'〜>改变1变为2

结果:

sheet(1)fine

sheet(2)130916001,130916001000009,not2'〜>错误

如果我提取这部分代码,计数器工作正常

Fyi我有6张,但不管是不是因为这个?

1 个答案:

答案 0 :(得分:0)

记住@nutsch的建议,这里有一些带有合格单元格的代码,所以不会混淆哪些单元格属于哪个单元格。我不确定你要完成什么,但应该很容易做出适当的改变。

Sub copyData()
    Dim i As Long, x As Long, iRowNumber As Long
    For i = 1 To iRowNumber
        If Sheet2.Cells(i, 3) = 1 Then
            With Sheet1
                .Cells(i, 1).Value = Now() 'time
                .Cells(i, 2).Value = "Duplicate"
                .Cells(i, 3).Value = Mid(Sheet2.Cells(i, 2), 5, 4)
                .Cells(i, 4).Value = Sheet2.Cells(i, 2).Value
            End With
            Sheet2.Cells(i, 3).Value = 2
        End If
    Next i
End Sub