Página 1 de 1

Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 16:03
por ruymds
Olá Pessoal,

possuo uma tabela com mais de 100mil registros dispostos no seguinte formato...

Imagem

Quando clico em Localizar/selecionar no excel a procura de uma sequência, por exemplo: 1 2 3 4 5 6 7 10 15 16 19 20 22 23 24 o excel não retorna a linha localizada devido que ele interpreta que esses valores não estão em uma única célula. Como possuo uma sequência de 15 números, a função em específica deve varrer todos as 15 colunas conforme imagem... de A - O e retornar...

Alguém poderia dar uma luz acerca dessa problemática? isso é uma função específica ou deve se criar um botão em VBA?

Att.,

Rui Mauricio

Re: Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 17:18
por gfranco
Boa tarde.
Veja se o anexo lhe ajuda

Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 17:19
por gfranco
Ah.
Essa é uma planilha com macros.
Será necessário habilitar o conteúdo ( caso essa mensagem seja exibida na sua abertura) para que ela funcione.

Re: Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 18:09
por ruymds
gfranco escreveu:Ah.
Essa é uma planilha com macros.
Será necessário habilitar o conteúdo ( caso essa mensagem seja exibida na sua abertura) para que ela funcione.
Sim, Obrigado gfranco pela elucidação. Vou fazer a adaptação do procedimento com minha tabela é verificar se funciona dentro daquilo que estou a resolver.

Re: Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 19:05
por ruymds
Olá Giovani,

devo estou fazendo algo errado, com o código repassado.

Veja meu arquivo. Meu arquivo tem que estar salvo em xls ou outra extensão para macro?

segue o Link pois a tabela é grande... https://drive.google.com/open?id=0B_ABU ... Gx4TVBhVE0

Mais uma vez obrigado

Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 20:28
por gfranco
Vc vai precisar fazer as seguintes alterações na sua planilha:
1º a macro começa a procurar os dados a partir de "A3" e seus dados começam em "A1".Mova os dados de modo que eles comecem em ""a3"
2º a sequencia à ser pesquisada estava originalmente de "R3:AF3" e na sua planilha está diferente. mude isso também
Seguindo esses passos vai rodar....mas vai demorar.... vc usou todas as linhas do excel
Eu sugiro veementemente rodar essa macro em etapas
Ela vai percorrer 1.048.576 linhas VEZES 15..... SÃO 15.728.640 células que a macro vai percorrer! ( quinze milhões).
At
gfranco

Localizar sequência de números horizontalmente

Enviado: 24 Nov 2016 às 23:04
por ruymds
Ok! tudo ajustado gfranco e rodando.

Realmente a tabela cresceu de proporções monstruosa :) :)
Neste caso em que o código varre toda a planilha até localizar os referidos números, ela continuará após localizar um resultado positivo... Ok!

Mas levando em consideração que minha planilha não possui uma sequência repetida, (pois em seu modelo inicial tinha várias linhas com sequencial e foram todos preenchidos de vermelho)

[...] supondo que na posição da linha A15550 por exemplo, o comando já valide a pesquisa e gostaria que paresse ali...

Onde efetivamente devo colocar o comando END/STOP no for?
Código: Selecionar todos
Sub procura()

Dim w As Worksheet, t As Long, j As Long
Set w = Plan1

t = w.Cells(Cells.Rows.Count, 1).End(xlUp).Row
If w.ProtectContents = True Then Exit Sub

If w.AutoFilterMode = True Then

w.AutoFilterMode = False
End If

Application.ScreenUpdating = False
DoEvents

For I = 3 To t
j = 0
For c = 1 To 15
If w.Cells(I, c) = w.Cells(3, c + 17) Then
j = j + 1

If j = 15 Then

w.Range("a" & I, "o" & I).Interior.Color = 255

End If

End If

Next c

Next I
Application.ScreenUpdating = True

End Sub
Att.,

Rui Mauricio

Re: Localizar sequência de números horizontalmente

Enviado: 25 Nov 2016 às 04:56
por gfranco
Bom dia.
Segue.