Ir ao conteúdo
  • Cadastre-se
wesoliveiraa

Excel (Resolvido) Copiar dados com variáveis

Recommended Posts

Boa dia! Sou novo no fórum e no VBA. Na calma e na pesquisa, vou aprendendo e evoluindo. Minha dúvida dessa vez é a seguinte:

Tenho uma planilha de cadastro de patrimônio que após preencher e clicar no botão "Inserir", os dados são copiados pra uma tabela. Agora eu preciso que esse mesmo botão também copie os dados pra outra tabela, mas só quando o tipo do patrimônio foi "Equipamento Técnico". Alguém poderia me dar uma luz de por onde começar?

 

Sub CadastroOK()
'Copy Número do Patrimônio
    Range("E3").Select
    Selection.Copy
    Sheets("Patrimônio").Select
    Range("T_Patrimônio[Número]").Select
    
   'Procura Célula Vazia
    Do
    If Not (IsEmpty(ActiveCell)) Then
      ActiveCell.Offset(1, 0).Select
    End If
    Loop Until IsEmpty(ActiveCell) = True
    
   'Volta o Código de cópia
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Cadastro de Patrimônio").Select
   'Limpa Células
    Range("E3").ClearContents
End Sub

Patrimônio.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me explique direito,, qual informação você quer que transfira para a outra planilha?:  Não consegui entender a sua plan

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atualmente, preencho a planilha Cadastro de Patrimônio e clico no gravar. O macro do botão gravar copia e cola as informações em suas respectivas colunas na tabela T_Patrimônio. 

Eu gostaria que o botão Gravar, além da função que já tem, copiasse a informação Patrimônio para coluna "Equipamento", em Manutenção preventiva, se o campo Tipo for igual a "Equipamento Técnico". 

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcos, muito obrigado pela ajuda! Consegui resolver adicionando um If no começo do macro.

 

If Range("E9") = "Equipamento Técnico" Then

Range("H3").Select
    Selection.Copy
    Sheets("Manutenção Preventiva").Select
    Range("T_Manutenção[Equipamento]").Select
    
    'Procura Célula Vazia
    Do
    If Not (IsEmpty(ActiveCell)) Then
      ActiveCell.Offset(1, 0).Select
    End If
    Loop Until IsEmpty(ActiveCell) = True
    
    'Volta o Código de cópia
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Cadastro de Patrimônio").Select
End If
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×