locked
Macro_Copiar e colar na linha de referencia RRS feed

  • Pergunta

  • Olá pessoal,

    Estou tentando fazer uma macro tipo formulário, com a seguinte caracterísitica:

    tenho duas planilhas (numa mesma pasta): "formulário" e "base"

    estou tentando fazer uma macro que copie células da planilha formulário e cole na planilha base, de modo que a macro cole na próxima linha q esteja em branco

    ou

    preciso de uma macro que identifique a linha (da planilha base) em que esta contido um nome na planilha formulário, e copie células da planilha formulário e cole na linha de refencia da planilha base...

     

    Será que alguem pode me ajudar por favor? Estou tentando nisso há dias... muito obrigado!

    Um abraço

    sexta-feira, 3 de novembro de 2006 15:12

Todas as Respostas

  • Olá Henrique.

    Acho que posso te ajudar...

    Vamos lá:

    Como colar os dados apartir da última linha.

    Sub copia_e_cola()
        Sheets("formulario").Range("A1:C10").Copy
        Sheets("base").Range("A1000").End(xlUp).PasteSpecial Paste:=xlValues
    End Sub

    Quanto a outra questão não entendi uma coisa: Se vc já tem os dados na planilha "base" para que copiar da planilha "formulário" ??

    sexta-feira, 3 de novembro de 2006 18:47
  • Vamos lá.

    Partindo do pressuposto que vc vai, primeiramente, cadastrar todos os nomes presumi o seguinte:

    Na planilha "formulario" vc vai digitar o nome na primeira célula (eu usei a célula A2).
    Nas célular seguinte vc vai informar os outros dados. (eu supus que fossem "idade" e "funcao").
    Vc vai inserir um botão de formulário e vai colocar a seguinte macro:

    Sub busca_e_cola()
        Set buscado = Sheets("formulario").Range("A2")
        Set area = Sheets("base").Range("A2:A100")
        Set c = area.Find(buscado, LookIn:=xlValues)
        If c Is Nothing Then
        MsgBox "Nome não cadastrado."
        Else
        End If
        For Each c In area
            If c.Value Like buscado Then
                For i = 2 To 3
                Sheets("formulario").Cells(2, i).Copy
                Sheets("base").Cells(c.Row, i).PasteSpecial Paste:=xlValues
                Next
            End If
        Next
    End Sub

    Essa macro, busca na planilha "base" o nome que vc digitou na célula A2 e cola ao lado desse nome os dados informados na planilha "formulario" nas células B2 e C2.

    Caso o nome digitado na planilha formulário não esteja cadastrado na planilha "base" a macro vai avisar com uma MsgBox.

    Espero ter sido útil...

    sexta-feira, 3 de novembro de 2006 19:13
  • Na verdade é uma coisa só... ou uma ou outra solução me ajuda muito...

    valeu cara, vou tentar e aviso se deu certo!!!

    Valeu mesmo!!!!

     

    abç

    Henrique

    sexta-feira, 3 de novembro de 2006 19:55
  • Valeu Marlon,

     

    Consegui fazer exatamente como eu queria cara... muito obrigado mesmo!!!!!!!!!

     

    Aproveitando, sem querer abusar ne cara, mas se vc puder me ajudar novamente:

     eu fiz um botãozinho no userform sabe? do editor da macro... agora eu queria saber como colocar esse botão (ou como colocar alguma coisa parecida, que ative a macro) na planilha (no formulário que eu criei)...

    Será que vc pode me ajudar? agradeço muito cara!

     

    Um abraço!

     

    Henrique

    segunda-feira, 6 de novembro de 2006 15:07
  • Henrique, só o q tu tens a fazer é colocar esse código no evento On_Click.

    Private Sub CommandButton1_Click()
        Sheets("formulario").Range("A1:C10").Copy
        Sheets("base").Range("A1000").End(xlUp).PasteSpecial Paste:=xlValues
    End Sub

    Ou coloca o outro código..

    CommandButton1 é o nome do controle.

    Qualquer dúvida entre em contato...

    P.S. me passa o teu email...

    segunda-feira, 6 de novembro de 2006 17:20
  •  

    Henrique, só o q tu tens a fazer é colocar esse código no evento On_Click.

    Private Sub CommandButton1_Click()
        Sheets("formulario").Range("A1:C10").Copy
        Sheets("base").Range("A1000").End(xlUp).PasteSpecial Paste:=xlValues
    End Sub

    Ou coloca o outro código..

    CommandButton1 é o nome do controle.

    Qualquer dúvida entre em contato...

    P.S. me passa o teu email...

    segunda-feira, 6 de novembro de 2006 17:22
  • Marlon XL-BR disse:

     

    Henrique, só o q tu tens a fazer é colocar esse código no evento On_Click.

    Private Sub CommandButton1_Click()
        Sheets("formulario").Range("A1:C10").Copy
        Sheets("base").Range("A1000").End(xlUp).PasteSpecial Paste:=xlValues
    End Sub

    Ou coloca o outro código..

    CommandButton1 é o nome do controle.

    Qualquer dúvida entre em contato...

    P.S. me passa o teu email...



    Como alterar este código para, selecionar todas as linhas que tem o valor igual a buscado e colar a partir da proxima linha vazia
    quarta-feira, 25 de março de 2009 03:13
  • olá pessoal,

    Achei este assunto muito interresante, mais não entendi direito.
    Tem como algum de vcs me enviar um arquivo teste por e-mail para que possa entender....

    Creio que isso deva me ajudar bastante com relação ao trabalho.

    Abraço a todos.

    erick moura
    EM
    quinta-feira, 26 de março de 2009 14:09