Notifications
Clear all

Usar o .Find para achar APENAS valores em linhas pares

3 Posts
2 Usuários
0 Reactions
1,057 Visualizações
(@de_nise_)
Posts: 8
Active Member
Topic starter
 

Olá, meu problema é o seguinte, tenho que achar valores nessa tabela, só que tenho 2 valores para cada linha à esquerda (1, 2, 3, ...). O problema é que quero procurar APENAS nos de cima, os dois valores que sejam mais próximos do número que tenho que achar (um acima e um abaixo).

Exemplo: se eu estou na coluna 200 procurando o número 132, eu quero que ela me retorne apenas o número 131 (que está na linha 6), ignore o valor 133 (linha 11, ímpar) e só pegue o próximo mais próximo.

Eu fiz essa macro já (essa só encontra o menor próximo) e queria saber se mudando algum dos parâmetros já resolvo meu problema com facilidade:

Do
      If Trim(m1) <> "" Then
          With ws.Range(Cells(4, cells1), Cells(53, cells1))
              Set int1 = .Find(What:=m1, _
                                      LookIn:=xlValues, _
                                      LookAt:=xlWhole, _
                                      MatchCase:=False)
               If int1 Is Nothing Then
                    m1 = m1 - 1
               End If
          End With
     End If
Loop While int1 Is Nothing And m1 > -50

Desde já agradeço :D

 
Postado : 26/01/2017 5:43 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite de_nise,

Eu particularmente, se entendi bem o que você quer, usaria um For para essa pesquisa. Pois com a rotina de repetição teria mais liberdade para colocar os critérios( usar o IF).

Existe alguma regra para você escolher essas colunas? Por que a coluna 200?

Disponibilize uma planilha de exemplo, assim fica mais fácil ajudar.

att,

 
Postado : 26/01/2017 7:30 pm
(@de_nise_)
Posts: 8
Active Member
Topic starter
 

Olá, desculpa a demora

Então, já deu certo, usei o For como vc falou, tinha me esquecido dessa estrutura de repetição

Muito obrigada :D

 
Postado : 27/01/2017 6:56 pm