Excel VBA 2013 – 获取价值的开始时间和结束时间

我试图得到相同的值的开始时间和结束时间,并删除它的整个行。

Name Start time End time Michael 2:57:00 PM 3:04:10 PM Michael 3:04:10 PM 3:12:29 PM Michael 3:12:29 PM 3:14:57 PM Sarah 3:19:53 PM 3:20:00 PM Sarah 3:20:00 PM 3:20:23 PM Michael 3:20:23 PM 3:23:49 PM 

输出将是

 Michael 2:57:00 PM 3:14:57 PM Sarah 3:19:53 PM 3:20:23 PM Michael 3:20:23 PM 3:23:49 PM 

抱歉。 我真的不知道macros。 如果有人可以帮我。 非常感谢!

谢谢!

更新:

我有什么只是删除重复。 我认为这是不可能的。

 With ActiveSheet Set Rng = Range("A2", Range("B2").End(xlDown)) Rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes End With 

您需要获取列A中每个名称的条件MAX和MIN时间值。这些值需要在名称的第一个匹配项中出现。

 Sub min_max_del() Dim rw As Long, cr As Long, lr As Long With Worksheets("Sheet3") With .Cells(1, 1).CurrentRegion lr = .Cells(Rows.Count, "A").End(xlUp).Row For rw = lr To 2 Step -1 If rw = Application.Match(.Cells(rw, "A"), .Columns(1), 0) Then .Cells(rw, 2) = Evaluate("min(if('" & .Parent.Name & "'!A2:A" & lr & "=A" & rw & ", '" & .Parent.Name & "'!B2:B" & lr & "))") .Cells(rw, 3) = Evaluate("max(if('" & .Parent.Name & "'!A2:A" & lr & "=A" & rw & ", '" & .Parent.Name & "'!C2:C" & lr & "))") End If Next rw .RemoveDuplicates Columns:=1, Header:=xlYes End With End With End Sub 

一旦时间正确地整理, Range.RemoveDuplicates方法将摆脱无关的条目。

min_max_times_before min_max_times_after
在采样数据之前 采样数据