Cleiton Dias Postado Setembro 4, 2011 Denunciar Share Postado Setembro 4, 2011 OláTenho a seguinte macro:Sub InsereLinha()Dim i As Long For i = 50007 To 1 Step -1 If Sheets("Análise MOV").Cells(i, "C") = Sheets("Config").Cells(3, "I") Then Sheets("Análise MOV").Cells(i, "C").Select Selection.EntireRow.Insert Sheets("Config").Cells(3, "I").Copy Selection.PasteSpecial Paste:=xlPasteValues Sheets("Config").Cells(3, "J").Copy ActiveCell.Offset(0, 1).PasteSpecial Paste:=xlPasteValues Exit Sub End If Next i End SubSe eu atribuo esta macro a um botão na planilha "Análise MOV", a Macro funciona perfeitamente.Agora se eu atribuo a mesma macro a um botão na planilha "Config", a Macro não funciona. Dá erro na linha " Sheets("Análise MOV").Cells(i, "C").Select".O q eu estou fazendo de errado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Cleiton Dias Postado Setembro 5, 2011 Autor Denunciar Share Postado Setembro 5, 2011 O Excel dá a msg:"O método Select da classe Range falhou". O Erro ocorre na linha " Sheets("Análise MOV").Cells(i, "C").Select".Mas se eu executo a macro na planilha "Análise MOV" ela funciona. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JoséA Postado Setembro 5, 2011 Denunciar Share Postado Setembro 5, 2011 Porque na sua macro há uma instrução para selecionar uma área da Plan "Análise MOV"Sheets("Análise MOV").Cells(i, "C").Select Para resolver o caso insira que ative a Plan "Análise MOV" e depois retorne para Plan desejada. Sub InsereLinha() Dim i As Long For i = 50007 To 1 Step -1 If Sheets("Análise MOV").Cells(i, "C") = Sheets("Config").Cells(3, "I") Then Sheets("Análise MOV").Select Sheets("Análise MOV").Cells(i, "C").Select Selection.EntireRow.Insert Sheets("Config").Cells(3, "I").Copy Selection.PasteSpecial Paste:=xlPasteValues Sheets("Config").Cells(3, "J").Copy ActiveCell.Offset(0, 1).PasteSpecial Paste:=xlPasteValues Sheets("Config").Select Exit Sub End If Next i End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Cleiton Dias Postado Setembro 5, 2011 Autor Denunciar Share Postado Setembro 5, 2011 Olá José!Muito obrigado! Resolveu o problema aki!!Quanto a linha Sheets("Análise MOV").Cells(i, "C").Select, eu não sei porque tem ela não. rsrsrs!! Na verdade eu achei esta macro na internet, e adaptei a minha tabela.Agora está td OK!!Muito Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JoséA Postado Setembro 6, 2011 Denunciar Share Postado Setembro 6, 2011 Estando ao nosso alcance disponha. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Cleiton Dias
Olá
Tenho a seguinte macro:
Sub InsereLinha()
Dim i As Long
For i = 50007 To 1 Step -1
If Sheets("Análise MOV").Cells(i, "C") = Sheets("Config").Cells(3, "I") Then
Sheets("Análise MOV").Cells(i, "C").Select
Selection.EntireRow.Insert
Sheets("Config").Cells(3, "I").Copy
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("Config").Cells(3, "J").Copy
ActiveCell.Offset(0, 1).PasteSpecial Paste:=xlPasteValues
Exit Sub
End If
Next i
End Sub
Se eu atribuo esta macro a um botão na planilha "Análise MOV", a Macro funciona perfeitamente.
Agora se eu atribuo a mesma macro a um botão na planilha "Config", a Macro não funciona. Dá erro na linha " Sheets("Análise MOV").Cells(i, "C").Select".
O q eu estou fazendo de errado?
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.