Notifications
Clear all

Importar dados de outra ABA

9 Posts
4 Usuários
0 Reactions
1,674 Visualizações
(@godegodes)
Posts: 16
Active Member
Topic starter
 

Bom dia Galera,

Fala galera...
Estou com um problema no VBA e queria a ajuda de vocês. Vamos lá.

Objetivo: Quero localizar dados em uma planilha chamada ("O.BMS"), copia-los e cola-los em outra planilha chamada ("LPU").

Premissas: Os dados que quero copiar da planilha ("O.BMS") estão entre as colunas "A" e "O", ou seja, preciso copiar o conteúdo de A até O de uma linha especifica.
Só devo copiar dados da linha onde o valor das colunas "D" OU "E" sejam diferentes de 0 (zero).
Após copiar os dados da planilha ("O.BMS") os dados devem ser colados na planilha ("LPU") começando na linha 11 coluna "B".
Os dados colados na planilha ("LPU") devem ser colados em linha subsequentes, ou seja, após colar o dados na linha 11 (primeira linha da planilha), os próximos dados devem ser colados na linha 12, depois linha 13 e assim por diante.

Código: O código que tentei foi este:

Private Sub criarlpu_Click()

Dim k As Integer
Dim i As Integer
Dim j As Integer
Dim m As Integer
Dim A As Integer
Dim B As Integer
Dim O As Integer
Dim nLSA As Integer
nLSA = 0
i = 0
k = 4
j = 5
m = 11
A = 1
B = 2
O = 15

If MsgBox(" ATENÇÃO!!" & vbCrLf & "Esse processo pode demorar alguns segundos!!" & vbCrLf & " Deseja Continuar?", vbYesNo, "Mensagem") = vbYes Then

nLSA = Application.Match("considera*", Sheets("O. BMS").Range("A1:A100000"), 0) - 1

Worksheets("O. BMS").Activate

'Percorre O.BMS da linha 23 até a nLSA
For i = 23 To nLSA

'Se o valor das células das colunas "AX" e "AW" for diferente de 0
If Sheets("O. BMS").Cells(i, "D").Value <> "" Or Cells(i, "E").Value <> "" Then

'Copia a linha "i" no intervalo que compreende as colunas A a O para linha de destino a partir da coluna "B"
Sheets("O. BMS").Activate
ActiveSheet.Range(Cells(i, "A"), Cells(i, "O")).Copy
'Worksheets("LPU").Activate

'Incrementa o valor de "m" para que o intervalo seguinte seja copiado na linha de baixo.
m = m + 1

End If
Next

End If
End Sub

Porém não funciona, acho chegar linha ActiveSheet.Range(Cells(i, "A"), Cells(i, "O")).Copy aparece o seguinte erro:

"Erro em tempo de execução '1004': Erro de definição de aplicativo ou de definição de objeto"

Alguém pode me ajudar??

 
Postado : 04/02/2016 8:14 am
(@mprudencio)
Posts: 2749
Famed Member
 

Se disponibilizar um modelo fica facil

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 : 04/02/2016 12:07 pm
(@srobles)
Posts: 231
Estimable Member
 

godegodes,

Você não especificou se a pesquisa será feita em uma coluna ou em qualquer coluna. Fiz um modelo seguindo suas informações, buscando a informação na coluna B da planilha O.BMS.

Teste, veja se atende suas necessidades e nos retorne ok?

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 04/02/2016 12:22 pm
(@godegodes)
Posts: 16
Active Member
Topic starter
 

Srobes

Primeiro, obrigado por responder.
Estou tentando adaptador o código que você mandou. É quase isso mas tem alguma diferenças.
O botão que você criou tem que estar na planilha "LPU", isso é facil de resolver.
A parte dificil...

O método de busca tem que ser automático, quando eu clicar no botão, que tem que estar na planilha LPU, a macro deve pesquisar na planilha O.BMS inteira e sempre que houver um valor diferente de 0 na coluna B, deve-se copiar a linha inteira (colunas "A" até a "O") e colar na planilha LPU.

Godes

 
Postado : 04/02/2016 2:05 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Como eu disse se disponibilizar um modelo fica facil

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 : 04/02/2016 2:36 pm
(@srobles)
Posts: 231
Estimable Member
 

godegodes,

Refiz o modelo.

Teste o mesmo e retorne.

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 04/02/2016 4:12 pm
(@godegodes)
Posts: 16
Active Member
Topic starter
 

MPrudencio,

Agradeço muito a ajuda, mas não posso disponibilizar um modelo. A planilha já está muito complexa, e tenho contrato de sigilo com a empresa. De qualquer forma muito obrigado.

 
Postado : 05/02/2016 5:58 am
(@godegodes)
Posts: 16
Active Member
Topic starter
 

Srobles,

A funcionalidade está perfeitaaa!!!!! Muito obrigado, vou estudar o código para aplica-lo a minha planilha. Qualquer duvida eu posto aqui.

Obrigado..

Godes

 
Postado : 05/02/2016 6:00 am
(@jokerpot)
Posts: 132
Estimable Member
 

Bom Dia!

Eu criei um modelo conforme eu entendi da explicação.

Veja se é isso.

 
Postado : 05/02/2016 6:14 am