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

[MACRO] Copia linha e cola em outra coluna

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
fabianopertussati
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jun 06, 2019 9:57 am

[MACRO] Copia linha e cola em outra coluna

Mensagem por fabianopertussati »

Bom dia prezados, tudo bem?

Não possuo conhecimento no Excel com VBA apenas formulas mas acredito que com uso de formulas não há como fazer o que preciso.

Preciso pegar o texto digitado na Coluna A1:A200 da "Plan1" e colar na primeira coluna vazia da "Plan2" pulando uma coluna, por exemplo:

Plan1
A1 - Test1
A2 - Test2
A3 - Test3
...

Plan2
A1 - Test1
C1 - Test2
D1 = Test3
...
Se puderem me ajudar com o conhecimento em programação ficarei imensamente grato.

Cordialmente,

Fabiano.


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.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: [MACRO] Copia linha e cola em outra coluna

Mensagem por srobles »

Fabiano,

Veja se a rotina abaixo atende sua necessidade.

Código: Selecionar todos

Sub transferirDados()
    With ThisWorkbook.Sheets(1)
        Dim linhaAtual As Long, linhaFinal As Long
        Dim novaLinha As Long, novaColuna As Long
        
        linhaAtual = 1
        linhaFinal = .Cells(Rows.Count, 1).End(xlUp).Row
        
        With ThisWorkbook.Sheets(2)
        
            Select Case MsgBox("Deseja sobrepor os dados existentes na aba de destino?", vbQuestion + vbYesNoCancel, "Sobrepor dados")
                Case Is = vbYes
                    novaLinha = .Cells(Rows.Count, 1).End(xlUp).Row
                Case Is = vbNo
                    novaLinha = .Cells(Rows.Count, 1).End(xlUp).Row
                        If novaLinha = 1 And .Cells(novaLinha, 1) = "" Then
                            novaLinha = 1
                        Else
                            novaLinha = novaLinha + 1
                        End If
                Case Is = vbCancel
                    Exit Sub
            End Select
            
            novaColuna = .Cells(novaLinha, Columns.Count).End(xlToLeft).Column

        End With
        
        While linhaAtual <= linhaFinal
            With ThisWorkbook.Sheets(2)
                .Cells(novaLinha, novaColuna) = ThisWorkbook.Sheets(1).Cells(linhaAtual, 1)
                novaColuna = novaColuna + 1
            End With
            linhaAtual = linhaAtual + 1
        Wend
        
        MsgBox "Operação finalizada com sucesso!", vbInformation, "Transferência"
        
    End With
End Sub
Basta apenas selecionar a opção Executar Macros na guia desenvolvedor ou Alt + F8 na aba cujos dados serão transferidos.

Espero ter ajudado.

Abs


fabianopertussati
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jun 06, 2019 9:57 am

Re: [MACRO] Copia linha e cola em outra coluna

Mensagem por fabianopertussati »

Boa noite srobles, tudo bem?

Obrigado pela resposta e pelo excelente código.

Não querendo abusar mas derrepente é fácil de fazer e rápido, podemos dar uma refinada?

Há como fazer um loop de verificação e comparar os dados da "P1" e os dados que ele colou na "P2"? Pois eventualmente os dados podem ser inseridos entre as linhas anteriores, assim ele verifica se aquele texto já está na "P2" ele pula caso contrario ele cola na ultima coluna em branco.
Assim, cada vez que eu rodasse a macro em vez dele pedir para mim sobrepor os dados ele podia fazer a verificação entre as duas planilhas.

Outra coisa, como é para uso profissional gostaria de colaborar com algum valor financeiro, uma doação pela gentileza e disponibilidade.

Um grande abraço e Boa noite.

Fabiano


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: [MACRO] Copia linha e cola em outra coluna

Mensagem por srobles »

Fabiano, boa noite!

Se possível, disponibilize um modelo com dados ficticios, explicando como essa macro deve operar, assim posso trabalhar diretamente na sua necessidade e layout dos dados.

Fazer o loop é perfeitamente possível, mas apenas imaginando como seria, ficaria difícil acertar de primeira.

Espero ter ajudado.

Abs


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.


fabianopertussati
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jun 06, 2019 9:57 am

Re: [MACRO] Copia linha e cola em outra coluna

Mensagem por fabianopertussati »

Boa noite, obrigado pela atenção.

Segue um modelo da planilha com as duas guias utilizadas, a posição das duas guias estão exatamente como na planilha completa. Dentro dela coloquei algumas observações para que possa entender o procedimento.

Abraço.

Fabiano.
PLANILHA MODELO.rar
Planilha modelo
(9.46 KiB) Baixado 212 vezes


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: [MACRO] Copia linha e cola em outra coluna

Mensagem por srobles »

Fabiano, boa noite.

Veja se as alterações feitas no modelo disponibilizado, atendem sua necessidade.

Espero ter ajudado.

Abs
Anexos
PLANILHA MODELO.zip
(27.76 KiB) Baixado 213 vezes


fabianopertussati
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Qui Jun 06, 2019 9:57 am

Re: [RESOLVIDO] Copia linha e cola em outra coluna

Mensagem por fabianopertussati »

Saulo, boa noite.

Está mais que resolvido e o código mais do que atende. Poh, até a formatação?! Show de bola. Só tenho a agradecer pelo belíssimo código e pela ajuda.

Como eu disse anteriormente é para uso profissional, se houver alguma forma de poder realizar uma doação $$ para você, por favor me envie uma mensagem no privado.

Um grande abraço!

Fabiano.


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