的價值觀,我試圖做Excel中的以下內容:檢查細胞
我有一些數據表(400k
行,這就是爲什麼我用很長的變量,而不是整數),我想檢查列R(包含ID),需要檢查列S和T.如果R是相同的,並且S和T不同,則代碼應該複製整行並將其粘貼到另一個表中。代碼運行並粘貼一些東西,但不是正確的行。在此先感謝,任何幫助將不勝感激。
樣本數據
R S T
1234 Kevin Smith
2345 John Miller
1234 Carl Jones
1234 Kevin Smith
4567 Mike Redwood
2058 William Wales
代碼
Sub mySub1()
Set wb = ThisWorkbook
Set tbl = wb.Sheets("sheet1")
Dim lrow As Long
Dim i As Long
Dim x As Long
Dim y As Long
Dim cell As Range
i = 1
x = 0
y = 1
Sheets("sheet1").Activate
lrow = tbl.Cells(Rows.Count, "A").End(xlUp).Row
For Each cell In Range("R2:R" & lrow)
If cell.Offset(x, 0).Value = cell.Offset(i, 0).Value And _
cell.Offset(0, 1) <> cell.Offset(i, 1).Value And _
cell.Offset(0, 2).Value <> cell.Offset(i, 2).Value Then
ActiveSheet.Range(Cells(i + 1, 1), Cells(i + 1, 26)).Select
Selection.Copy
Sheets("sheet2").Select
ActiveSheet.Cells(y, 1).PasteSpecial
y = y + 1
End If
Sheets("sheet1").Activate
i = i + 1
x = x + 1
Next
End Sub
那麼,哪一行正在被複制 - 下一行? – Chris
[有趣的閱讀](http://stackoverflow.com/questions/10714251/excel-macro-avoiding-using-select)也可以發佈樣本數據,以便我可以在發佈解決方案之前測試代碼? –
理想情況下,其中包含默認值和下一個值的初始行。這個想法是找出列R中具有相同ID但S和T中不同值的每一行。 – DEFCON123