【发布时间】:2017-02-12 20:52:52
【问题描述】:
我有一个代码可以让我从参考表中查找重复值,如果它们不重复,它会将不同的值粘贴到“历史注释”表中。这是为了跟踪我对某个主题所做的 cmets。 cmets 偶尔会更改,我想保留一份历史评论表以跟踪我过去所做的更改。我有一个代码将在第一张表中查找并搜索重复项并将唯一值粘贴到此背页中,但我想知道是否有一种方法可以将代码粘贴到下一列中,如果当前单元格已经有其中的一个值。我只是想确保我的代码不会覆盖过去的历史 cmets。这是代码:
Option Explicit
Sub CopyPasteHistorical()
Dim sht1Rng As Range, cell As Range
With Worksheets("AAG") '<-- reference Sheet1
Set sht1Rng = .Range("I1", .Cells(.Rows.Count, "I").End(xlUp)).SpecialCells(xlCellTypeConstants) '<-- set range with its column "I" cells containing constant (i.e. not formulas) values
End With
With Worksheets("Sheet2") '<-- reference Sheet2
For Each cell In sht1Rng '<-- loop through Sheet1 range
If cell.Value <> .Cells(cell.Row, "C") Then .Cells(cell.Row, "D") = cell.Value '<-- if sheet1 current cell content is different from Sheet2 column "C" cell content in the same row then write it in Sheet 2 column "D" corresponding row
Next cell
End With
End Sub
我希望这是有道理的,任何帮助将不胜感激!谢谢!
【问题讨论】:
-
当然,您应该查找“在工作表中查找下一个空单元格”,您可以执行类似
Worksheets("Sheet1").Range("A1").End(xlDown).Row + 1或只是Offset()之类的操作。 -
谢谢!这是在代码的末尾还是在两行之间的某个地方?我为这个基本问题道歉,我刚刚开始学习 VBA!
标签: vba excel copy duplicates