Como encontrar intervalos de números (com entrada de texto) no Excel

0

Na coluna A, eu tenho alguns números, formatados como texto devido a zeros à esquerda:

+------+
|  A   |
+------+
| 0001 |
| 0002 |
| 0003 |
| 0012 |
| 0013 |
| 0015 |
| 0017 |
| 0019 |
| 0020 |
+------+

Usando a coluna A como entrada, quero preencher duas outras colunas, B e C, assim:

+------+------+
|  B   |  C   |
+------+------+
| 0001 | 0003 |
| 0012 | 0013 |
| 0015 |      |
| 0017 |      |
| 0019 | 0020 |
+------+------+

Eu basicamente quero o começo e o fim de cada intervalo de números.

Os números não incluídos na coluna A devem ser omitidos dos intervalos nas colunas B e C.

Como isso pode ser feito no Excel?

    
por Leif 22.08.2015 / 15:32

1 resposta

1

Isso deve ser feito:

Sub dural()
  Dim N As Long, i As Long, K As Long, v As Long
  Dim vOld As Long
  N = Cells(Rows.Count, "A").End(xlUp).Row + 1
  K = 1

  For i = 1 To N
    v = CLng(Cells(i, 1).Value)
    If i = 1 Then
      Cells(1, "B").Value = v
      vOld = v
    Else
      If v = vOld + 1 Then
      Else
        Cells(K, "C").Value = vOld
        K = K + 1
        Cells(K, "B") = v
      End If
      vOld = v
    End If
  Next i

  For i = 1 To K
    If Cells(i, "B").Value = Cells(i, "C").Value Then Cells(i, "C").Value = ""
    If Cells(i, "B").Value = 0 Then Cells(i, "B").Value = ""
  Next i
End Sub

    
por 22.08.2015 / 17:35