Bom, depois de muito quebrar a cabeça, e com a ajuda de amigos, cheguei a um código que resolveu o meu problema: Sub Intervalo() Dim x As Integer x = 5 While Range("I" & x).Value <> "" If Range("K" & x).Text <> "" And Range("K" & x + 1).Text <> "" And Range("K" & x + 2).Text <> "" Then While ((Range("K" & x).Text = Range("K" & x + 1).Text) And (Range("K" & x + 1).Text = Range("K" & x + 2).Text)) x = x + 1 Range(x & ":" & x).Select Selection.Delete Shift:=xlUp x = x - 1 Wend End If If Range("K" & x).Text = Range("K" & x + 1).Text And Range("K" & x).Text <> "" And Range("K" & x + 1).Text <> "" Then x = x + 2 Rows(x & ":" & x).Select Selection.Insert Shift:=xlToRight Else x = x + 1 Rows(x & ":" & x).Select Selection.Insert Shift:=xlToRight End If x = x + 1 Wend x = 1 Range("A" & x).Select End Sub Além de separar somente o primeiro e o último horário com o mesmo intervalo de tempo, ele ainda insere uma linha em branco entre o último horário de um intervalo e o primeiro horário de outro intervalo. Pra quem considerar essa macro útil, aí está....