Notifications
Clear all

Macro localizar e colar especifico

11 Posts
3 Usuários
0 Reactions
1,716 Visualizações
(@asampras)
Posts: 6
Active Member
Topic starter
 

Estou com uma dúvida na criação de uma macro.
Tenho uma pasta de trabalho com duas planilhas: formulário e banco de dados.

Na planilha "Formulário", criei um formulário onde são digitados os dados nos seguintes campos: nº do protocolo (célula J7), ano protocolo (J9),data de saída (J11), situação (J13) e despacho (J15) e um botão localizar.

Como criar uma macro nesse botão para, ao se apertar tal botão, o protocolo e ano lançados na planilha "Formulário" sejam localizados na planilha "Bancos de Dados" e os demais dados digitados no formulário [J11,J13,J15] sejam copiados e colados nas respectivos campos situados na mesma linha do protocolo/ano localizados (os campos estão nas colunas I, J, K da planilha Banco de dados)?

Segue anexo o arquivo

 
Postado : 11/01/2016 2:24 pm
(@srobles)
Posts: 231
Estimable Member
 

asampras,

Segue em anexo seu modelo.

Favor lembre-se : Sempre que anexar aquivos no fórum, compacte o mesmo com extensão .zip, .rar, .7zp, OK?

Quaisquer dúvidas, retorne.

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 11/01/2016 5:08 pm
(@asampras)
Posts: 6
Active Member
Topic starter
 

Obrigado, Saulo, e desculpe pelo arquivo monstrengo, da próxima, irei compactá-lo.

 
Postado : 12/01/2016 12:15 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

asampras

Como você não leu os links que eu postei na tua apresentação, deixou de tomar conhecimento das normas e procedimentos do fórum, portanto aconselho ler o conteúdo dos links abaixo, para facilitar a tua participação aqui no fórum.
(Por exemplo, neste tópico você não agradeceu e não marcou o tópico como resolvido).

viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s

Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/01/2016 1:31 pm
(@asampras)
Posts: 6
Active Member
Topic starter
 

Olá, Saulo, blz?
Primeiramente, muito obrigado pela ajuda, o botão e as janelas de mensagens estão funcionando direitinho.
Abri o arquivo e fiz um teste chamando na planilha Formulário um protocolo já adicionado na planilha Base de Dados, mas as informações lançadas nas células J11, J13, J15, não foram colados nas respectivas colunas na planilha Base de Dados. Estou fazendo algo errado?

 
Postado : 12/01/2016 8:39 pm
(@srobles)
Posts: 231
Estimable Member
 

asampras,

Verifique se não é por causa do tipo de formatação da célula. As vezes, devido ao formato, o dado pesquisado pode não bater com o que está na outra planilha.

Aguardo retorno.

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 12/01/2016 11:08 pm
(@asampras)
Posts: 6
Active Member
Topic starter
 

Boa tarde, Saulo.
Formatei as duas planilhas da mesma maneira, mas continua não sendo lançados na Base de Dados os compos digitados na saída.
Li as instruções contidas na macro, como não entendo nada de VBA, fiquei em dúvida.
Na seguinte linha de instruções, vc escreveu:

'Ativa a planilha e seleciona a primeira celula
.Activate
.Range("A1").Select

'Pesquisa o valor de J7 que está na variável
Cells.Find(idProtocolo, ActiveCell, xlValues, xlWhole, xlByRows, xlNext).Activate

Este comando diz que o valor de J7 será procurado na coluna A da planilha Base de Dados?

E depois , vc inseriu os seguintes comandos:

'Se econtrar, armazena os valores dos campos no array de strings
vDados(1) = .Cells(ActiveCell.Row, "B").Text
vDados(2) = .Cells(ActiveCell.Row, "I").Text
vDados(3) = .Cells(ActiveCell.Row, "J").Text
vDados(4) = .Cells(ActiveCell.Row, "K").Text
End With

'Seleciona a planilha FORMULÁRIO
With ThisWorkbook.Sheets("FORMULÁRIO")
.Activate

'Alimenta os campos com o valor de cada variável do array
.Range("J9") = vDados(1)
.Range("J11") = vDados(2)
.Range("J13") = vDados(3)
.Range("J15") = vDados(4)
End With

Esses comandos indicam que, na linha correspondente ao valor encontrado de J7, serão lançados os valores de J9:J15?

Obrigado de antemão.

 
Postado : 13/01/2016 11:28 am
(@srobles)
Posts: 231
Estimable Member
 

asampras,

Peço desculpas pelo inconveniente. Não me atentei ao fato de que você queria gravar valores na base.

Refiz o código para gravar as informações contidas da guia FORMULARIO na BASE DE DADOS.

Favor, teste e retorne ok?

Grato,

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 13/01/2016 11:18 pm
(@srobles)
Posts: 231
Estimable Member
 

asampras,

Esqueci do anexo.

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 13/01/2016 11:25 pm
(@asampras)
Posts: 6
Active Member
Topic starter
 

Boa tarde, Saulo.
Tão logo chegue ao trabalho, vou verificar, mas desde já, agradeço a grande ajuda.
Abcs

 
Postado : 14/01/2016 10:59 am
(@asampras)
Posts: 6
Active Member
Topic starter
 

Boa tarde, Saulo.
Ficou SHOW!!!
:D
Obrigadão!
Vou ler outros post para tentar incrementar aqui. Até o chefe ficou contente.
Muito obrigado.

 
Postado : 14/01/2016 1:07 pm