Notifications
Clear all

Run-time error '-2147417848 (80010108)'

2 Posts
2 Usuários
0 Reactions
1,020 Visualizações
(@rutra)
Posts: 1
New Member
Topic starter
 

Eu tenho poucos conhecimentos de VBA e preciso de ajuda para saber quais as alterações que terei que fazer no meu código para corrigir o seguinte erro:

Run-time error '-2147417848 (80010108)'
Method ´_Default' of object 'Range' failed

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("G10") = Range("H10") Then
Range("H10") = Range("G10")
Else
Range("G10").Select
Selection.Copy
Range("H10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I10").Select
Application.CutCopyMode = False
Selection.Copy
Range("AF10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I10").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=RC[23]+RC[-3]*R[-4]C[-4]"
Range("I10").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AF10").Select
Application.CutCopyMode = False
Selection.ClearContents
End If
End Sub

 
Postado : 25/04/2015 5:46 am
(@laennder)
Posts: 62
Trusted Member
 

É mais fácil você explicar o que deseja que o seu código faça, pois sendo bem sincero, não consegui entender uma lógica nele.

O erro está ocorrendo porque está está havendo um "loop eterno" no seu código. Esta macro é executada sempre que altera algo na planilha. Porém como a própria macro altera algo na planilha, ela chama a mesma macro novamente, e novamente, e novamente. Para evitar isso você pode acrescentar duas linhas no seu código:

Esta no início do código: (Após a linha do Private Sub)

Application.EnableEvents = False 

E esta no fim do código: (Antes da linha do End Sub)

Application.EnableEvents = True

Laennder Alves
Microsoft MVP

 
Postado : 25/04/2015 7:36 am