Notifications
Clear all

Microsoft Excel parou de funcionar

6 Posts
2 Usuários
0 Reactions
1,920 Visualizações
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Pessoal Boa Tarde!

Estou com um problema em uma rotina que já estou até desistindo de tanto que estou quebrando a cabeça para resolver.

Se eu rodo o código abaixo através da tecla F8, ela roda perfeitamente até o final, porem se eu aperto o botão da rotina para rodar, chega em um determinado momento que o Excel simplesmente trava com o erro O Excel parou de funcionar.

Alguem sabe me dizer que porcaria pode estar ocorrendo??????

Sub ATUALIZAR()

'Application.ScreenUpdating = False


TEMPO_INI = Time
x_ABA = ActiveWorkbook.Name

x_CAMINHO = Sheets("PARAMETROS").Range("$H$3").Value
ULINHA = Sheets("FORECAST").Range("C1048576").End(xlUp).Row


x_RANGE = "C6:C" & ULINHA
Range(x_RANGE).Select
Range(x_RANGE).Copy

Sheets("DADOS").Select

Cells(2, 1).Select
ActiveSheet.Paste

Sheets("FORECAST").Select
y_RANGE = "BS6:BS" & ULINHA
Range(y_RANGE).Select
Range(y_RANGE).Copy

Sheets("DADOS").Select

Cells(2, 2).Select
ActiveSheet.Paste


Range("A1:B1").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Range("$A$1:$B$1048576").RemoveDuplicates Columns:=1, Header:=xlYes

Sheets("FORECAST").Select
ULINHA3 = Range("B1048576").End(xlUp).Row
x_ROWS4 = "B6:C" & ULINHA3
Range(x_ROWS4).Select
Range(x_ROWS4).ClearContents


x_ROWS4 = "AC6:AN" & ULINHA3
Range(x_ROWS4).Select
Range(x_ROWS4).ClearContents


Sheets("DADOS").Select
ULINHA5 = Sheets("DADOS").Range("A1048576").End(xlUp).Row

n_IMP = 2
Arquivo = "FORECAST - "
ABRIR = False


For n_IMP = 2 To ULINHA5

    x_ARQUIVO = Sheets("DADOS").Cells(n_IMP, 1).Value & ".xlsx"
    ARQUIVO_FINAL = Arquivo & x_ARQUIVO
    n_IMP = n_IMP + 1
    x_ARQUIVO_2 = Sheets("FORECAST").Cells(n_IMP, 3).Value & ".xlsx"
    n_IMP = n_IMP - 1


        If x_ARQUIVO <> x_ARQUIVO_2 Then

            ABRIR = True

            Application.DisplayAlerts = False
            On Error Resume Next
            
             Workbooks.Open Filename:=(x_CAMINHO & "" & ARQUIVO_FINAL)
            
            If Not Err.Number = 0 Then
            n_RESP = MsgBox("ATENÇÃO!!!" + vbCrLf + "VERIFIQUE OS PARÂMETROS:" + vbCrLf + "DIRETÓRIO, OU ARQUIVOS NÃO LOCALIZADOS." + vbCrLf + vbCrLf + "ESSA ROTINA SERÁ ENCERRADA", vbCritical, "BUSINESS PARTNER FINANÇAS")
            Exit Sub
              Application.DisplayAlerts = False
  
            End If
        End If

n_COL = 6

    If ABRIR = True Then
        ULINHA2 = Range("B1048576").End(xlUp).Row
        x_NOME = ActiveWorkbook.Name
        CONTAS = Cells(n_COL, 2).Value
        x_ROWS3 = "AC6:AN" & ULINHA2
        Windows(x_NOME).Activate
        Range(x_ROWS3).Select
        Selection.Copy
        Windows(x_ABA).Activate
        Sheets("FORECAST").Select
        LIN = Range("AC1048576").End(xlUp).Row
        ULIN = LIN + 1
        Cells(ULIN, 29).Select
        ActiveSheet.Paste
'        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
'            :=False, Transpose:=False
        Windows(x_NOME).Activate
        x_ROWS3 = "B6:C" & ULINHA2
        Range(x_ROWS3).Select
        Selection.Copy
        Windows(x_ABA).Activate
        Sheets("FORECAST").Select
        LIN = Range("B1048576").End(xlUp).Row
        ULIN = LIN + 1
        Cells(ULIN, 2).Select
        ActiveSheet.Paste
        
'        Windows(x_NOME).Activate
'        ActiveWindow.Close
        
Workbooks(x_NOME).Activate

Workbooks(x_NOME).Close
   
    End If
Next

Range("B5").Select

TEMPO_FIM = Time

TEMPO_FINAL = TEMPO_FIM - TEMPO_INI




End Sub
 
Postado : 20/10/2017 12:18 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Use o Depurador, poste seu arquivo modelo!

Att

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

 
Postado : 20/10/2017 12:27 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Boa tarde!!

Use o Depurador, poste seu arquivo modelo!

Att

Alexandre boa tarde!

Não consigo usar o depurador quando rodo a rotina, pois o Excel trava e eu não localizo o erro.
Quando vou pela tecla F8 não da erro nenhum.

Segue exemplo do meu arquivo com todas as macros.
A que esta dando problema é a ATUALIZAR.

 
Postado : 20/10/2017 12:38 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu executei a rotina, rodou normal.

Na depuração Geral, também não geou erro.

Eu te aconselho a melhor seu código, ele é muito poluído, também ha questão de performasse que ha como melhorar!

Use a pesquisa do fórum, tem bastante material.

Att

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

 
Postado : 20/10/2017 1:49 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Alexandre

Sim, vou dar uma limpada no código, mas meu problema ainda persiste.
No botão não roda de jeito nenhum e o Excel simplesmente trava e fecha.
Tenho uma dúvida.
Existe incompatibilidade de VBA entre Excel de Office diferente??

No Office 2010 o qual comecei a fazer a MACRO rodada de boa, agora atualizei para o 2016 e estranhamente começou a dar esse erro.

Não sei o que faço mais.

 
Postado : 20/10/2017 3:54 pm
(@jokerpot)
Posts: 132
Estimable Member
Topic starter
 

Pessoal.
Nao consigo resolver de jeito nenhum esse problema.
Ja fiz de tudo, inclusive iniciar a macro do 0 novamente escrevendo tudo, mas mesmo assim o Excel trava e da a informaçao que o mesmo parou de funcionar.
Estranho que a macro nao tem erro algum, no office 2010 ela roda de boa mas foi so atualizar para o 2016 que esse treco so da esse erro.
Nao tem ninguem que tenha passado a mesma situação que conseguiu resolver para me dar um help??????

 
Postado : 23/10/2017 11:49 am