Notifications
Clear all

Procurar valor de uma celula

5 Posts
3 Usuários
0 Reactions
1,204 Visualizações
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

Boa tarde, estou precisando de uma rotina.. que use o valor contido na célula c5 da planilha01 para realizar uma busca na planilha02.

Por exemplo..
Essa imagem é a planilha01

Essa planilha 02

Note que na planilha01 tem os numeros de contratos que quero pesquisar na planilha02..
preciso da rotina que encontre esses números de contratos na planilha02 e posteriormente selecione-os e imprima.
Se alguém puder me ajudar ficarei grato.

 
Postado : 14/05/2018 12:11 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Sugestão coloque cada contrato em uma guia da planilha e de o nome da guia o codigo do contrato.

Depois pode usar este codigo


Sub Imprimir()

Dim Contrato as string
Dim Ws as worksheets

Contrato = Range("C5").value

for each ws in worksheets


if ws.name = contrato then

ws.printout

next ws

end sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 14/05/2018 12:50 pm
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

vou tentar combinações com esse código ai.. e posto o resultado aqui depois,
acredito que seja inviável colocar cada contrato em uma planilha..
pois.. são cerCa de 2000.. rs

 
Postado : 14/05/2018 2:24 pm
(@klarc28)
Posts: 971
Prominent Member
 
Sub Macro2()
On Error GoTo fim


'Seleciona a Plan2 (Planilha que contém os contratos)
    Sheets("Plan2").Select
    'Procura o valor da C5 da Plan1 (Planilha que contém os números a serem impressos)
    Cells.Find(What:=Sheets("Plan1").Range("C5").Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        'Seleciona a região do contrato
        ActiveCell.CurrentRegion.Select
        'Impreme a área selecionada
        Selection.PrintOut Copies:=1, Collate:=True
fim:
End Sub

Cinco dicas que foram muito úteis para mim:

1) Quando não sei fazer algo no VBA, vou ao menu EXIBIÇÃO >> MACROS >> GRAVAR MACRO
Faço o que eu quero aí volto ao menu EXIBIÇÃO >> MACROS >> PARAR GRAVAÇÃO
Aperto Alt + F11 e vejo como a macro fez aquilo. Tento entender e tento adaptar.

2) Quando vou criar um código e o resultado não está saindo como o esperado, entro no código e vou apertando F8 para executar passo a passo, aí vou passando o mouse sobre as variáveis para verificar se o valores delas estão corretos, já consertei milhares de códigos dessa forma.

3) Antes de executar o código, vou ao menu Depurar >> Compilar. Isso ajuda a corrigir erros mais simples, como o nome de uma variável digitado errado.

4) Declaro todas as variáveis. Isso também evita erros.

5) Sempre uso o Option Explicit lá no início. Ele me obriga a declarar as variáveis.

 
Postado : 15/05/2018 5:12 am
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
Topic starter
 

Bom, testei o código acima e funcionou perfeitamente. Agradeço mais uma vez!

 
Postado : 17/05/2018 1:57 pm