Notifications
Clear all

Sequencia numérica em VBA

3 Posts
2 Usuários
0 Reactions
930 Visualizações
(@silva17)
Posts: 6
Active Member
Topic starter
 

Ola
Estou com uma duvida se alguém poder me ajudar a agradeço eu sou novo aqui
Tenho uma tabela os números estão de 1 a 25 eu gostaria que ele me informe a sequencia de números que esta faltando em VBA
Gostaria que os números que estão faltando fique na coluna P
Desde ja agradeço
Exemplo

A B C D E F G H I J K L M N O P
2 3 5 6 9 10 11 13 14 16 18 20 23 24 25
1 4 5 6 7 9 11 12 13 15 16 19 20 23 24
1 4 6 7 8 9 10 11 12 14 16 17 20 23 24
1 2 4 5 8 10 12 13 16 17 18 19 23 24 25
1 2 4 8 9 11 12 13 15 16 19 20 23 24 25
1 2 4 5 6 7 10 12 15 16 17 19 21 23 25
1 4 7 8 10 12 14 15 16 18 19 21 22 23 25
1 5 6 8 9 10 13 15 16 17 18 19 20 22 25
3 4 5 9 10 11 13 15 16 17 19 20 21 24 25
2 3 4 5 6 8 9 10 11 12 14 19 20 23 24

 
Postado : 04/05/2017 8:35 pm
(@osvaldomp)
Posts: 858
Prominent Member
 

Experimente:

Sub NúmerosFaltantes()
 Dim a As String, i As Long, k As Long
  For k = 1 To Cells(Rows.Count, 1).End(3).Row
   For i = 1 To 25
    If Application.CountIf(Range(Cells(k, 1), Cells(k, 15)), i) = 0 Then a = a & ", " & i
   Next i
   Cells(k, 16) = Mid(a, 3, Len(a) - 2): a = ""
  Next k
End Sub

Osvaldo

 
Postado : 05/05/2017 11:45 am
(@silva17)
Posts: 6
Active Member
Topic starter
 

Obrigado Osvaldo

consegui por este código aqui

Sub ProcSeq()

Dim Seq, Res, Resultado
Dim Proc As Integer

ColunaResuldado = 17


UL_Linha = Range("A1048576").End(xlUp).Row
  
For Linha = 1 To UL_Linha

    For Proc = 1 To 25
                    
         For Coluna = 1 To 15
               
              If Cells(Linha, Coluna) = Proc Then
                       
                  Resultado = Resultado + 1
                  GoTo PulaProc

              End If
                    
         Next Coluna
                     
PulaProc:
                If Resultado = 0 Then
                    Cells(Linha, ColunaResuldado) = Proc
                    ColunaResuldado = ColunaResuldado + 1
                    Resultado = 0
                End If
                    Resultado = 0
                    
    Next Proc
         ColunaResuldado = 17
         
Next Linha

End Sub
 
Postado : 08/05/2017 3:26 pm