Página 1 de 1

Determinar intervalos de não ocorrência com VBA[RESOLVIDO]

Enviado: 16 Ago 2022 às 09:39
por Domingsp
Bom dia, nessa planilha anexada estou fazendo uma análise de quais intervalos determinada dezena fica sem ocorrer. Na coluna M tenho 81 dezenas de 1 a 25 e na coluna Q estão os intervalos em que a dezena 13 ficou sem sair. Preciso de uma macro que me dê esses intervalos numa lista maior.
Primeiro ficou 6 vezes sem sair, depois 3, 25 e por fim 43.
Os intervalos na coluna Q precisam estar na ordem em que ocorrem em M.
As células em amarelo são apenas para realçar na explicação, mas a macro não precisa colorir.
Desde já, obrigado
AMOSTRA.xlsm

Re: Determinar intervalos de não ocorrência com VBA

Enviado: 16 Ago 2022 às 10:55
por osvaldomp
Olá, @Domingsp.

Veja se atende.
Código: Selecionar todos
Sub IntervalosSem13()
 Dim t As Range, ad As String, k As Long
  With Range("M1:M" & Cells(Rows.Count, 13).End(3).Row)
   Set t = .Find(13)
   If Not t Is Nothing Then
    ad = t.Address: k = t.Row
    Do
     Set t = .FindNext(t)
     Cells(Rows.Count, 17).End(3)(2) = IIf(t.Address = ad, Cells(Rows.Count, 13).End(3).Row - k, t.Row - k - 1)
     k = t.Row
    Loop While Not t Is Nothing And t.Address <> ad
   End If
  End With
End Sub

Re: Determinar intervalos de não ocorrência com VBA

Enviado: 16 Ago 2022 às 11:09
por PHSabater
Na Aba Base, na coluna A, insira a lista de dezenas. Na coluna E, a partir da linha 2, insira as dezenas que deseja calcular.
Estou calculando o intervalo em que sua dezena aparece na lista.

Re: Determinar intervalos de não ocorrência com VBA

Enviado: 16 Ago 2022 às 12:08
por Domingsp
Muito obrigado ao osvaldomp e ao PHSabater!

Re: Determinar intervalos de não ocorrência com VBA[RESOLVIDO]

Enviado: 16 Ago 2022 às 12:25
por luizpaps
segue o arquivo já com a macro, cabe ressaltar que não sou especialista em vba, o código está todo comentado explicando o que faz cada qual.

Re: Determinar intervalos de não ocorrência com VBA[RESOLVIDO]

Enviado: 16 Ago 2022 às 13:03
por Domingsp
Obrigado luizpaps!