2013-11-22 108 views
0

我的代碼: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「〜>檢查,如果第三列大於1

預期的結果:

片(1)第一行>時間, 「重複」,1600,130916001000009

片材(2)130916001,130916001000009,2「〜>變化1成爲2

結果:

片(1)細

片材(2)130916001,130916001000009,NOT2「〜>錯誤

如果我提取這部分代碼,計數器工作正常

Fyi我有6張,但不知道是因爲這個還是不是?

+0

你必須更精確地描述你的對象,你的代碼不是很清楚它在看什麼單元格。調用你的單元格如下:'sheets(「Sheet1」)。cells(i,2)'等等。這樣,你不必選擇任何東西,它與你的活動工作表無關。 – nutsch

回答

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 
相關問題