Notifications
Clear all

Copiar e Colar usando VBA com condições

8 Posts
1 Usuários
0 Reactions
1,240 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal boa noite.
Estou precisando usar um recurso e creio que o copiar e colar vai me atender.
Eu tenho uma planilha em que preciso que o conteúdo da célula E4 seja copiado para a as colunas G ou I ou L ou O de acordo com o valor inserido na célula E1.
Exemplo, se na célula E1 for 1, deve ser copiado para a coluna G, se o conteúdo da célula E2 for 2 o conteúdo tem que ir para a coluna I e assim por diante, são 20 comparações.
Existe ainda um outro problema, o valor dessa célula deve ser copiado para várias linhas nas colunas G ou I ou L ou O, isso de acordo com as linhas preenchidas nas colunas anteriores.
Para ficar mais fácil de entender, se o conteúdo da céula E1 for 1, o conteúdo precisa ser copiado para a coluna G, se na coluna F tiver um X na linha 10, então precisa ser copiado para a linha 10 na coluna G, em cada coluna são varias vezes o X marcado na coluna anterior.
Sendo assim, acredito que seja mais fácil, tentar criar uma fórmula, onde se o conteúdo de E1 for 1 ele copia a coluna G e cola valores na F, se for 2, copiaria o conteúdo da coluna H e colaria na I.
Alguém poderia me ajudar a criar esse "case" que vai de 1 a 20?
Essa planilha que enviei tem apenas uma aba mas a que vou usar, na prática são por volta de 20 abas, entre motos, carros, caminhões e tratores.

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

 
Postado : 22/07/2014 4:36 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

POrque não usar uma formula em coluna L e outra em P etc
Na coluna L

=SE($E$2=1;HOJE();"")

Na coluna P

=SE($E$2=2;HOJE();"")

Etc
Att

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

 
Postado : 22/07/2014 4:59 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pensei em usar essa opção mas a coluna L e a P vai ser marcada pelo usuário de acordo com o manual do veículo, o X ali indica que aquele item deve ser verificado no momento daquela manutenção.
Na coluna O eu preciso que só apareça a data nas linhas que estiverem o X marcado na coluna L.
E eu preciso depois arrumar uma forma desses dados ficarem salvos na planilha e permitir que eu limpe o número da revisão para que fique pronto para colocar os dados da segunda revisão meses depois.
A minha ideia é, depois de tudo funcionando, a macro copiar a parte da planilha, seja da coluna L até a coluna O ou da coluna P até a coluna até a coluna S para uma outra aba que seria igual a essa e colar valores, assim, quando eu colocar o 2 no número de revisão as informações referentes a coluna O não ficará em branco.
E esse copiar e colar valores também precisa variar de acordo com o número inserido na célula E2.

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

 
Postado : 22/07/2014 7:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!

Seria isso?
https://www.sendspace.com/file/vqd4wn

Att

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

 
Postado : 23/07/2014 10:05 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite.
É quase isso o que eu preciso.
A data precisa aparecer é na coluna O ou S, e assim por diante, sempre no campo Data de manutenção.
Preciso ainda descobrir como fazer para, em uma aba ao lado, igual a essa mas começando na coluna K em diante.
Colasse os valores do que foi cadastrado nessa planilha.
Assim, caso o valor da célula E2 seja 1, precisaria que fosse copiado o conteúdo de L até O, se o valor da célula E2 for 2 copiar de P a S em diante.

No código que colocou:

For Each rCell In Rng.Cells
If rCell.Value = Range("E2").Value Then
LastRow = Cells(Rows.Count, rCell.Column).End(xlUp).Row
For x = MyFirstRow To LastRow
If Cells(x, rCell.Column).Value = "X" Then
Cells(x, rCell.Column).Value = Format(Now(), "DD/MM/YYYY")
End If
Next x
End If
Next rCell

Existe uma forma de colocar algo do tipo:

If Cells(x, rCell.Column).Value = "X" Then
Cells(x, rCell.Column+3).Value = Format(Now(), "DD/MM/YYYY")
End If

Onde o +3 seria referente a três colunas a frente?

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

 
Postado : 23/07/2014 6:51 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Caso queira é isso mesmo!!
De..

Cells(x, rCell.Column).Value = Format(Now(), "DD/MM/YYYY")

Para

Cells(x, rCell.Column + 3).Value = Format(Now(), "DD/MM/YYYY")

Att

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

 
Postado : 24/07/2014 5:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Estou de volta.
Acho que o site caiu esses dias e ai não tive como responder.
Primeiro agradeço muito a ajuda que está me dando.
Estou retornando a sua planilha para ver como ficou, gostaria de saber a sua opinião sobre ela.
Está protegida mas sem senha apenas para mostrar como seria a versão final para o usuário.
Ela vai ter dezenas de abas como essa, uma para cada veículo.

O que o usuário precisa é controlar a manutenção dos seus veículos, ainda não está da forma que considero ideal. Não é aquela planilha que eu vejo é falo que está 100%.
Mas não consigo visualizar onde poderia mexer para melhorá-la.
A ideia do usuário é informar a quilometragem do veículo e a planilha retornar se está na época de fazer a manutenção, a manutenção precisaria ser feita por quilômetros rodados ou por tempo em dias, a planilha avisa 30 dias antes do prazo final (ainda não estou satisfeito com isso na planilha).
Depois da manutenção realizada ela lança de acordo com os itens que precisam ser vistoriados e trabalhados.
Esses itens variam de veículo para veículo, podem ser caminhões, tratores, carros, motos, etc.
Teria algo que você mudaria na planilha, acrescentaria, retiraria?
Peço um feed back por não achar que a planilha tenha ficado do meu agrado mas a inspiração não anda lá essas coisas ultimamente e não consigo criar uma solução melhor que essa.

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

 
Postado : 28/07/2014 8:23 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Eu olhei rapidamente seu arquivo, mas sinceramente eu sempre tento por os dados em formato de Banco de Dados (dados sobre posto por colunas), a menos que não seja possível!

Att

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

 
Postado : 29/07/2014 5:17 am