Ir ao conteúdo

Excel Erro com execução Send keys


Ir à solução Resolvido por Scofieldgyn,

Posts recomendados

Postado

Bom dia Pessoal

 

Já tenho um VBA que uso a bastante tempo para copiar dados de outra planilha

 

Agora preciso de uma macro para a partir da célula que o código antigo para, ele selecione os dados e copie, pois colo essa informação no WhatsApp

 

Estou tentando fazer manualmente com send keys, mas as vezes funciona e as vezes não

 

Estou fazendo assim

 

Sub Copiar()

     
     
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+{RIGHT}"
        Application.SendKeys "+^{UP}"
        Application.SendKeys "+^{UP}"
       Application.SendKeys "+^{UP}"
  
Call SendKeys("{NUMLOCK}", True)
      
    
End Sub

 

Como podem ver está bem manual, ele deslocando 9 vezes pra direita com shift e depois 2 vezes pra cima com shift+control

 

  • Solução
Postado

@xandymarinho

 

segue:

adicionei um limpar na planilha 3 Range("G44:P") antes da macro ser executada ok.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim UltLin As Long

Application.ScreenUpdating = False
Application.EnableEvents = True

If Not Intersect(Target, Range("A4")) Is Nothing Then

Planilha3.Select
UltLin = Cells(Rows.Count, "G").End(xlUp).Row
Planilha3.Range("G44:P" & UltLin).ClearContents

Planilha2.Select
UltLin = Cells(Rows.Count, "K").End(xlUp).Row
Planilha2.Range("K4:T" & UltLin).Copy
Planilha3.Range("G44").PasteSpecial (xlPasteValues)
Application.CutCopyMode = False

Planilha3.Select

PivotTables("Tabela dinâmica2").PivotCache.Refresh

Application.ScreenUpdating = True

End If

End Sub

 

Postado
4 horas atrás, Scofieldgyn disse:

@xandymarinho

 

segue:

adicionei um limpar na planilha 3 Range("G44:P") antes da macro ser executada ok.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim UltLin As Long

Application.ScreenUpdating = False
Application.EnableEvents = True

If Not Intersect(Target, Range("A4")) Is Nothing Then

Planilha3.Select
UltLin = Cells(Rows.Count, "G").End(xlUp).Row
Planilha3.Range("G44:P" & UltLin).ClearContents

Planilha2.Select
UltLin = Cells(Rows.Count, "K").End(xlUp).Row
Planilha2.Range("K4:T" & UltLin).Copy
Planilha3.Range("G44").PasteSpecial (xlPasteValues)
Application.CutCopyMode = False

Planilha3.Select

PivotTables("Tabela dinâmica2").PivotCache.Refresh

Application.ScreenUpdating = True

End If

End Sub

 

Opa amigo, muito obrigado, mas não estou conseguindo fazer ela funcionar, o que pode ser? copio e colo o codigo lá e ele manda salvar e não funciona

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...