首页 > 解决方案 > 删除vba中某个时间范围内的重复项(例如一周内的重复项)

问题描述

我正在进行一项研究,如果研究参与者在两周内再次参与,他们将被视为重复,但如果他们在 2 周冷却期后再次参与,则他们不是重复。我需要一种在 2 周内检查/删除重复参与者的方法,但如果他们在 2 周外重复,则保留它们。

数据看起来像这样:

Test    Participant ID   Date
1       550              01/01/2018
2       550              02/01/2018
3       677              05/01/2018
4       550              15/02/2018

通常我会使用Range.RemoveDuplicates来删除重复项。这将删除测试 2 和 4。

Sub removeduplicate()
Range("A1:C5").CurrentRegion.RemoveDuplicates Columns:=Array(2), Header:=xlYes
End Sub

有什么方法可以修改或添加它,以便我删除第 2 行中的重复项而不是第 4 行中的重复项(因为它是在 2 多周后)?我有数千行。

太感谢了

标签: vbaexcelduplicatesdate-range

解决方案


试试这个来删除重复项

Sub Duplicates()

Dim i As Long
 i = ActiveSheet.UsedRange.Rows.Count
 x = Cells(2, 2).Value
 For j = 3 To i
If Cells(j, 2).Value = "" Then
Cells(j, 2).Value = x
Else
x = Cells(j, 2).Value    
End If
Next j
End Sub

推荐阅读