none
Copiar só os valores RRS feed

  • Pergunta

  • Boa tarde

    A macro abaixo é de autoria de alexvba. Como alterar para copiar só os valores do intervalo, de modo que o usuário informe também a partir de qual linha deve começar a colar os valores.

    Sub teste()
    Range("H1:P10").Copy Range("H" & Rows.Count).End(3)(4)
    End Sub
    

    Grato

    sexta-feira, 24 de outubro de 2014 15:24

Respostas

  • Pode sim, nesse caso você não precisa usar o End(xlup) que está na função acima...

    basta informar em qual célula os dados serão colados....

    Sub teste2()

    Dim lngLinha as Long

    lngLinha = 45

    Range("H1:P10").Copy Range("H" & lngLinha).PasteSpecial xlPasteValues 'ou simplesmente

    Range("H1:P10").Copy Range("H45").PasteSpecial xlPasteValues End Sub




    Natan

    sexta-feira, 24 de outubro de 2014 17:26

Todas as Respostas

  • Existem várias formas de transferir valores entre células, mas seguindo o conceito de copiar/colar segue alteração do modelo acima:

    Sub teste2()
    
      Range("H1:P10").Copy
      Range("H" & Rows.Count).End(3)(4).PasteSpecial xlPasteValues
      
      
    End Sub
    


    Natan

    • Sugerido como Resposta Deric Ferreira sexta-feira, 24 de outubro de 2014 17:22
    sexta-feira, 24 de outubro de 2014 16:06
  • Boa Natan, mas faltou uma coisinha só:

    Preciso informar nessa macro a partir de qual linha eu quero começar a colar os valores.

    Ex.: O intervalo H1:P10, é colado na linha 13 (atualmente) mas quero informar que começa na linha 45 ou outra linha qualquer. Como fazer isso?

    sexta-feira, 24 de outubro de 2014 16:30
  • Pode sim, nesse caso você não precisa usar o End(xlup) que está na função acima...

    basta informar em qual célula os dados serão colados....

    Sub teste2()

    Dim lngLinha as Long

    lngLinha = 45

    Range("H1:P10").Copy Range("H" & lngLinha).PasteSpecial xlPasteValues 'ou simplesmente

    Range("H1:P10").Copy Range("H45").PasteSpecial xlPasteValues End Sub




    Natan

    sexta-feira, 24 de outubro de 2014 17:26
  • Veja bem:

    Aqui nessa linha no finalzinho_ End(3)(4)_ a macro cola a 1ª vez, pula duas linhas e grava outra vez e assim sucessivamente, bastando clicar o botão. Nesse intervalo H1:P10, aparece uma sequencia, apertou o botão, gravou na linha informada, a partir daí quando clicar outra vez no botão uma nova sequencia já formada em H1:P10, é gravada mais abaixo seguindo sempre a orientação de End(3)(4).

    https://www.sendspace.com/file/8o7f8q


     Sub teste2() 

    Range("H1:P10").Copy Range("H" & Rows.Count).End(3)(4).PasteSpecial xlPasteValues End Sub


    sexta-feira, 24 de outubro de 2014 18:28
  • Carlito,

    Não consigo acessar o sendspace de onde estou...

    mas me explique o que você não está conseguindo... já que acima estão os exemplos de colar em uma célula fixa ("H45") ou variável Range("H" & rows.Count).End(3)(4).



    Natan

    sexta-feira, 24 de outubro de 2014 18:54
  • Faltava só um entendimento simples da minha parte. Agora a macro funciona a contento.

    Grato pela ajuda

    sábado, 25 de outubro de 2014 11:11