如果您要查找重复的行,并且同一人有多个条目,并且要查找重复的条目,那么您不应错过本文。我们将提供一个宏代码,以帮助您识别重复的行。在本文中,我们将学习如何根据特定的列查找重复的行。

问题:我有一个电子表格,其中包含多个带时间戳的条目。这些人可以同时在几个地方进出。尝试编写公式或宏(在这种情况下不确定达到最佳目标)将搜索数据并用红线突出显示,且特定人的时间重叠。这可能吗?有人可以帮忙吗?非常感谢。

原始问题可以找到http://www.excelforum.com/excel-general/1092140-identifying-duplicate-time-frames.html [此处]

以下是前一张纸的快照:

image 1

以下是后页的快照:

image 2

获取代码;我们需要按照以下步骤启动Visual Basic编辑器屏幕:单击“开发人员”选项卡。在“代码”组中,选择“ Visual Basic”。 *将以下代码复制到标准模块中

image 3

图片:https://www.office-skill.site/images/wp-content-uploads-2015-07-image-43.png [image 4,width = 624,height = 293] *当我们运行宏时,我们将得到结果;请参考以下快照:

Sub FindOverlapTime()

Dim rng As Range, cell As Range, trng As Range, tcell As Range

Dim lr As Long

lr = Cells(Rows.Count, "A").End(xlUp).Row

Range("A2:H" & lr).Interior.ColorIndex = xlNone

Set rng = Range("C2:C" & lr)

For Each cell In rng

If Application.CountIf(Range("C2", cell), cell.Value) > 1 Then

Set trng = Range("F2:F" & cell.Row - 1)

For Each tcell In trng

If tcell.Offset(0, -3) = cell Then

If (cell.Offset(0, 3) >= tcell And cell.Offset(0, 3) <= tcell.Offset(0, 1)) _                 Or (cell.Offset(0, 4) >= tcell And cell.Offset(0, 4) <= tcell.Offset(0, 1)) Then

Range("A" & cell.Row & ":H" & cell.Row).Interior.ColorIndex = 3

End If

End If

Next tcell

End If

Next cell

End Sub

image 5

代码说明:

将rng,cell,trng,tcell声明为Lr的范围* long * lr = Cells(Rows.Count,“ A”)。End(xlUp).Row将检查当前工作表的最后一行。

  • Range(“ A2:H”&lr).Interior.ColorIndex = xlNone;这将选择从单元格A2到H列到最后一行的范围(在我们的示例中将选择A2:H5),并确保没有颜色被填充。

设置rng = Range(“ C2:C”&lr); C列(配置文件ID)将存储在rng中。现在我们将为rng中的每个循环运行,即列C如果Application.CountIf(Range(“ C2”,cell),cell.Value)> 1然后;这将检查单元格值大于1的次数;如果发现大于1,则设置trng = Range(“ F2:F”&cell.Row-1);现在我们将设置列F,即

在trng中输入时间*接下来,我们将在trng中运行For Each循环,并检查是否存在重复的行,如果发现行,则将其突出显示为红色。

结论:这样,我们可以使用宏代码找到重复的值,并在以后将其删除。

如果您喜欢我们的博客,请在Facebook上与您的朋友分享。您也可以在Twitter和Facebook上关注我们。

image 48

我们很高兴收到您的来信,请让我们知道我们如何改进,补充或创新我们的工作,并为您做得更好。写信给我们[email protected]