Notifications
Clear all

Erro ao rodar a Macro

10 Posts
3 Usuários
0 Reactions
2,081 Visualizações
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom dia prezados colegas.

Desculpe incomodar mas estou com um problema pesquisei na net e não encontrei nada que poderia me ajudar.
Tenho 2 planilhas de controle a planilha 1 e usado por departamento A e a planilha 2 pelo departamento B
elas foram criadas utilizando a ferramenta gravar macro e estava utilizando normalmente até ontem, porém quando fui atulizar os dados da planilha 1 para planilha 2 apareceu este erro " RUN-TIME ERROR '6' Overflow.
Pesquisando na net vi que esse erro e devido a quantidade de informações que são copiadas e que teria que alterar a minha macro, porém não sei necessariamente que devo fazer.
Quando aparece a tela de erro clicando em depurar esta linha fica amarela [ Range("J7:T25000").Select ]
Teria que trocar apenas esta linha ou será necessário refazer todo a minha rotina?
Abaixo segue meu código.

Desde já agradeço a ajuda costumeira e espero que alguém possa me dar um help.rs

Abraços.

Sub copiarpara ()

Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
ChDir"C:Desktopfabiospcontrole
Workbooks.Open Filename:=
"C:Desktopfabiospcontroledados2013.xls"
Range("J5").Select
Windows("dados2013.xls").Activate
Range("J7:T25000").Select
Selection.Copy
Windows("dados2013_para_relatorio.xls")
Range("J7").Select
Selection.PasteSpecial Paste :=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Range("J5").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveWorkbook.Save
MsgBox"Copiado"

End Sub
 
 
Postado : 25/09/2013 4:30 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Fabiosp,

Bom Dia!

Por gentileza, compacte suas planilhas e anexe as mesmas aqui para poder baixar, depurar e etndenter o que está ocorrendo. Muitas vezes, a linha onde o depurador pára, não é a linha onde o erro ocorreu. Esse erro é um erro típico de estouro de variável. No entanto, não há variáveis no seu código...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 25/09/2013 8:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Em paralelo, de uma vista de olhos no código; o que postou tem alguns erros na sintaxe, veja abaixo:

Sub copiarpara()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ChDir "C:Desktopfabiospcontrole"
Workbooks.Open Filename:="C:Desktopfabiospcontroledados2013.xls"
Range("J5").Select
Windows("dados2013.xls").Activate
Range("J7:T25000").Select
Selection.Copy
Windows("dados2013_para_relatorio.xls").Activate
Range("J7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("J5").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveWorkbook.Save
MsgBox "Copiado"
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/09/2013 9:10 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Bom dia Wagner Morel

Hoje não estou em meu escritório fui ajudar o pessoal da outra filial.rs
Mas agora eu montei uma que e parecida com a que eu uso diariamente e que esta dando aquele erro.
Tentei anexar o arquivo compactado mais e muito grande então postei lá no sendspace.

Segue os links.
http://www.sendspace.com/file/obnynp

http://www.sendspace.com/file/n0lu81

OBS Este arquivo não e o que esta dando erro mas as rotinas são as mesmas.

Desde já agradeço e espero que possa me ajudar.

Fabiosp,

Bom Dia!

Por gentileza, compacte suas planilhas e anexe as mesmas aqui para poder baixar, depurar e etndenter o que está ocorrendo. Muitas vezes, a linha onde o depurador pára, não é a linha onde o erro ocorreu. Esse erro é um erro típico de estouro de variável. No entanto, não há variáveis no seu código...

 
Postado : 25/09/2013 10:07 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Reinaldo

Muito obrigado pela resposta.
Acho que tinha alguns erros porque eu digitei a manualmente o código pois não estou em meu escritório hoje.
Obrigado pela correção mas acho que o motivo não erra esse pois até ontem pela manha a macro estava funcionando direitinho.
Estava vendo na internet que teria que refazer minha rotina utilizando variáveis do tipo Long ou Double porque esse erro e devido a quantidade de informação que a macro faz a leitura, mas como sou novato em VBA não sei como fazer.
Desde já agradeço a atenção e espero que possa me ajudar caro colega.

Abraços.

Em paralelo, de uma vista de olhos no código; o que postou tem alguns erros na sintaxe, veja abaixo:

Sub copiarpara()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ChDir "C:Desktopfabiospcontrole"
Workbooks.Open Filename:="C:Desktopfabiospcontroledados2013.xls"
Range("J5").Select
Windows("dados2013.xls").Activate
Range("J7:T25000").Select
Selection.Copy
Windows("dados2013_para_relatorio.xls").Activate
Range("J7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("J5").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveWorkbook.Save
MsgBox "Copiado"
End Sub
 
Postado : 25/09/2013 10:22 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde colegas desculpe o incomodo.

Estava pesquisando na net e encontrei uma rotina que é parecido com que eu necessito fazer (copiar os dados de J7:T25000 da planilha dados2013 para J7:T25000 da planilha dados 2013 para relatório).
Porém continua acusando aquele erro Run Time erro ´6´Overflow.
Será que vou ter que apagar dados ou copiar dados antigos para outra planilha?
Desde agradeço a gentileza e compreensão de todos colegas deste fórum.
Abaixo segue código que achei na net.

Abraços.

Sub Copiar_Dados()
        Dim wsOrigem As Worksheet
        Dim wsDestino As Worksheet
       
        'Arquivo Destino, abrimos primeiro
        'Ajuste o caminho do mesmo
        Workbooks.Open Filename:="C:Desktopfabiospcontroledados_para_relatorio.xls"
       
        'Arquivos e Abas de Origem e Destino
        Set wsOrigem = Workbooks("dados2013").Worksheets("dados")  'planilha de onde sai dados
        Set wsDestino = Workbooks("dados_para_relatorio.xls").Worksheets("dados")   'planilha para onde vai dados
         
            With wsOrigem
                .Range("J7:T25000").Copy Destination:=wsDestino.Range("J7")
                
            End With
     
        'Fecha o Arquivo  e Salva
        Workbooks("dados2013.xls").Close SaveChanges:=True

        MsgBox "Introducao de dados Concluida"
    End Sub

 
Postado : 26/09/2013 9:36 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Aparentemente esse erro é falta de memoria, para o Excel.
Nada errado no código, roda normalmente, porem não tenho planilha com a mesma cara de dados; portanto experimente selecionar inicialmente uma range de dados menor
algo como .Range("J7:T2000"), e veja se vai.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/09/2013 10:10 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Boa tarde Reinaldo.

Muito obrigado pela resposta.
Mudei aquele campo como você sugeriu e funcionou.
Mas o problema e que eu preciso que ela atualize os dados de J7:T20000 pois as informações são atualizadas aleatóriamente entre esse campos.
Nesse caso você que tem mais experiência no assunto que aconselha fazer?

Desde já agradeço a ajuda.

Abraços.

 
Postado : 26/09/2013 3:06 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pois é, experimente rodar em duas/mais vezes então.

...With wsOrigem
    .Range("J7:T12500").Copy Destination:=wsDestino.Range("J7")
    .Range("J12501:T25000").Copy Destination:=wsDestino.Range("J12508")
End With...

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/09/2013 6:25 am
(@fabiosp)
Posts: 291
Reputable Member
Topic starter
 

Reinaldo bom dia.

dividindo em 2 etapas deu certo.
Muito obrigado!
Agradeço de mais sua ajuda.

Abraços.

 
Postado : 30/09/2013 5:21 am