Ir ao conteúdo

Excel ERRO: Método PasteSpecial da classe Range falhou


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Bom dia! Fiz uma macro para copiar dados de uma Aba e colar em formato de linha em outra aba, sempre inserindo abaixo da ultima linha da tabela. O local de onde copio possui muitas celulas mescladas por isso utilizo o Colar Valores. porém aparece a mensagem ""O método PasteSpecial da classe Range falhou"" sempre que executo a parte em negrito abaixo

 

MacroLINHABAIXO()

    Sheets("Cadastro").Select
    Range("K11:T11").Select
    Selection.Copy
    ActiveSheet.Next.Select
    Range("A1").Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlUp).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=True
    ActiveCell.Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 

Sou iniciante e estou há dias tentando resolver.... Agradeço desde já!

Postado

@Midori

Eu exclui toda esta linha 

Selection.ListObject.ListRows.Add AlwaysInsert:=True

e realmente funcionou, obrigada! Porém ela era referente à "Inserir linha de tabela abaixo" e agora as informações adicionadas não estão ficando com a formatação da tabela, estou tentando encontrar uma maneira de inserir na macro sem que ela dê erro.

  • Solução
Postado

@Aline Steffanato Sua tabela não aumentou o range com aos novos dados da última linha adicionada? Aqui aumenta automaticamente inclusive com a formatação. Mas já que não deu certo aí, editei o código para colar os dados. Estava dando erro porque a macro perdia a referência da cópia quando a nova linha era adicionada,

 

Sub MacroLINHABAIXO()
    Dim Cadastro As Worksheet
    
    Set Cadastro = ThisWorkbook.Sheets("Cadastro")
    
    Cadastro.Next.Select
    Range("A1").Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlUp).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=True
    ActiveCell.Offset(1, 0).Select
    Cadastro.[K11:T11].Copy
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!