Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Procura vertical após fazer procura horizontal ??

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Avatar do usuário
McJota
Colaborador
Colaborador
Mensagens: 26
Registrado em: Sáb Out 13, 2012 10:16 pm

Procura vertical após fazer procura horizontal ??

Mensagem por McJota »

Olá pessoal.
É o seguinte:
Tenho uma tabela com cores, números e quantidades!
a b c d e f
amarelo 1 Vermelho 1 azul 1
33 500 33 200 37 400

Na linha 1 tem as cores e em seguida o número 1 só para não deixar a célula em branco!
Na linha de baixo tem os números seguidos da quantidade!
Ou seja, a quantidade do amarelo número 33 = 500, do vermelho número 33 = 200!
Digamos que eu queira acrescentar + 300 no número 33 da cor vermelho.
preciso fazer uma procura pela cor vermelha na linha 1 e depois fazer uma procura pelo número 33 na coluna do vermelho!

Como faço essas procuras uma após a outra??

Obrigado.....


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
BaptistaCG
Colaborador
Colaborador
Mensagens: 96
Registrado em: Seg Jul 30, 2012 10:33 pm
Localização: Sorocaba/SP

Re: Procura vertical após fazer procura horizontal ??

Mensagem por BaptistaCG »

Bom dia McJota,

Tá na mão meu amigo.
Espero que sirva para o seu caso.

Código: Selecionar todos

Sub teste()

Dim proCura As Range
'Coloque aqui em rows o número da linha que estará as cores.
Set proCura = Rows("1")
Dim reSultado As Range
'Aqui é só definir a cor a ser procurada como string no critério do find.
Set reSultado = proCura.Find("vermelho", LookIn:=xlValues, lookat:=xlWhole)
If reSultado Is Nothing Then
        MsgBox "vermelho não encontrado"
Else
'Aqui é a mesma coisa que foi feito na cor porém determinei para selecionar o resultado da cor e o restante das celulas com conteudo, abaixo da mesma.
        reSultado.Select
        Set proCura = Selection.End(xlDown)
        Set reSultado = proCura.Find("33", LookIn:=xlValues, lookat:=xlWhole)
        If reSultado Is Nothing Then
        MsgBox "33 não encontrado"
        Else
'E aqui é o que desejar fazer com a celula 33, neste caso ele adiciona 300 e formata em vermelho e negrito
        reSultado = reSultado + 300
        reSultado.Font.ColorIndex = 3
        reSultado.Font.Bold = True
        End If
End If

End Sub
Abraço
Att...


Avatar do usuário
McJota
Colaborador
Colaborador
Mensagens: 26
Registrado em: Sáb Out 13, 2012 10:16 pm

Re: Procura vertical após fazer procura horizontal ??

Mensagem por McJota »

Caro amigo Vinicius, obrigado pela atenção!
Ficou perfeito seu código!
Já havia conseguido fazer a pesquisa dupla, com o seguinte código:

Código: Selecionar todos

ThisWorkbook.Worksheets(ComboBox1.Value).Activate
' Faz a procura na planilha escolhida na ComboBox1
With Worksheets(ComboBox1.Value).Range("1:1")
' Procura pela cor escolhida na ComboBox2
Set c = .Find(ComboBox2.Value)
If Not c Is Nothing Then
c.Select
ActiveCell.Offset(1, 0).Select
' Seleciona a célula abaixo, até achar o número escolhido na ComboBox3
While ActiveCell <> "" And ActiveCell <> ComboBox3.Text
ActiveCell.Offset(1, 0).Select
Wend
ActiveCell.Value = ComboBox3.Value
' Soma a quantidade do número com a quuantidade digitada na TextBox3
ActiveCell.Offset(0, 1).Value = Val(ActiveCell.Offset(0, 1).Value) + Val(TextBox3.Value)
Else
' Se não encontrar, faz um Loop até a pxóxima célula vazia na linha 1
Range("a1").Select
 Do
  If Not (IsEmpty(ActiveCell)) Then
      ActiveCell.Offset(0, 1).Select
  End If
Loop Until IsEmpty(ActiveCell) = True
' Registra os novos dados
ActiveCell.Value = ComboBox2.Value
ActiveCell.Offset(0, 1).Value = "X"
ActiveCell.Offset(1, 0).Select
While ActiveCell <> "" And ActiveCell <> ComboBox3.Text
ActiveCell.Offset(1, 0).Select
Wend
ActiveCell.Value = ComboBox3.Value
ActiveCell.Offset(0, 1).Value = Val(ActiveCell.Offset(0, 1).Value) + Val(TextBox3.Value)
End If
End With
Mais uma vez obrigado pela atenção!
Abraço....


Avatar do usuário
BaptistaCG
Colaborador
Colaborador
Mensagens: 96
Registrado em: Seg Jul 30, 2012 10:33 pm
Localização: Sorocaba/SP

Re: Procura vertical após fazer procura horizontal ??

Mensagem por BaptistaCG »

É isso ae Jota o importante é compartilharmos as soluções encontradas pois muitas vezes podemos usar algo semelhante em outras situações, Obrigado por compartilhar!
Se precisar de mais algo é só chamar,

Att..


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder