Notifications
Clear all

Macro Lenta

11 Posts
2 Usuários
0 Reactions
3,776 Visualizações
(@felipe-ics)
Posts: 14
Eminent Member
Topic starter
 

Boa Dia Pessoal... chegando agora no fórum...

Estou com alguns problemas em programação VBA. Acontece o seguinte, criei uma pequeno programa no VBA e quando vou executar a macro esta muito lento, aparece passo a passo, leva muito tempo para ser concluída. Já tentei muitas coisa e ate agora nada.

Desativei o calculo automático, atualizações da tela, etc...

'Sub auto_open()
'Application.Visible = False
'Application.OnKey "^+R", "MostraRibbon" 
'Application.ScreenUpdating = False
'Application.Calculation = xlCalculationManual
'Application.DisplayFormulaBar = False
'Application.StatusBar = "Data do Sistema: " & Date
'Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"
'ActiveWindow.DisplayGridlines = False
'ActiveWindow.DisplayHeadings = False
'ActiveWindow.DisplayHorizontalScrollBar = False
'ActiveWindow.DisplayVerticalScrollBar = False
'ActiveWindow.DisplayWorkbookTabs = False
'Frm_Menu.Show
'Sheets("menu inicial").Select
'End Sub

E nada resolveu.... e nesse brincadeira acabou sumindo os botaos fechar, minizar, restauzar da minha barra de status as planilha.

As variáveis que eu declarei são essas:

Dim Manejo As Long
Dim DIngresso As Date
Dim PesoInicial As Long
Dim Custo As Currency
Dim Vendedor As String
Dim Pasto As String
Dim Produtor As String
Dim Raca As String
Dim I As Long
Dim Data As Date
Dim Peso As Long
Dim GPD As String
Dim GPM As String
Dim Valor As Currency
Dim Resultado As Currency
Dim Situação As String
Dim Intervalo As Long
Dim Pasto As String
Dim Capim As String
Dim Area As String
Dim Nome As String
Dim Telefone As String
Dim Celular As String
Dim Raca As String
Dim Cidade As String
Dim PesoIni As Long
Dim DiaFaz As String
Dim Limite As Long
Dim NDias As String

E tem uns 10 formulários e separei os módulos para melhor organização... não sei se isso influencia na macro.

Creio eu que seja as declarações de variáveis que estão deixando a macro lenta... mas não posso tira-las...

O meu problema é:

Como deixar a macro mais ágil (esta muito lenta) e voltar as opções da barra de status da planilha ?

Podem me dar uma luz ?

 
Postado : 25/08/2013 12:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Por favor, leia as regras, seu titulo não é apropriado!!!
Nossas Regras
viewtopic.php?f=7&t=203

• TÍTULOS
Seja criativo na criação do título para um novo tópico, se imagine criando um título para uma notícia de um
jornal onde se lê o título já tendo uma idéia do que se trata o tópico, evite palavras vagas.

Leia:
http://www.cpearson.com/excel/optimize.htm
http://www.ozgrid.com/VBA/SpeedingUpVBACode.htm
Att

 
Postado : 25/08/2013 1:22 pm
(@felipe-ics)
Posts: 14
Eminent Member
Topic starter
 

Ainda não funcionou...

e um outro problema são os botões (fechar, minimizar e Restaurar) da barra de status da planilha, eles sumirão e minha planilha já abre com um tamanho bem pequeno não dá para mexer.

 
Postado : 25/08/2013 3:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Quanto a suas rotinas, tente postar seu arquivo modelo compactado!!

Quanto maximizar, tente descomentar as linha responsáveis ou tente um dos códigos abaixo.

Private Sub Workbook_Activate()
    On Error Resume Next
    With Application
        .DisplayFullScreen = True
        .CommandBars("Worksheet Menu Bar").Enabled = False
    End With
     
End Sub
Private Sub Workbook_Open()
    Application.WindowState = xlMaximized
End Sub

Att

 
Postado : 25/08/2013 4:06 pm
(@felipe-ics)
Posts: 14
Eminent Member
Topic starter
 

Já havia tentado esse códigos e nada funcionou.

O arquivo mesmo em Zip tem 10mb, não da para postar.

tem alguma outra opção para voltar os botões da barra de status da planilha (workbook)? 'do aplicativo esta aparecendo normal

 
Postado : 25/08/2013 4:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Poste seu arquivo em site gratuito como sendspace,4shared ou outros e nos mande o link.

Att

 
Postado : 25/08/2013 5:01 pm
(@felipe-ics)
Posts: 14
Eminent Member
Topic starter
 

Postei no 4shared.

http://www.4shared.com/zip/bgp0FyOo/Projeto_.html

Os códigos, Auto_Open e Auto close estão dentro do mudulo "Iniciar Senha"

 
Postado : 25/08/2013 5:16 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Contribuindo.
A simples declaração de variáveis não deve gerar nenhum delay no processamento do código, pelo contrario, deve "facilitar" o processamento.
A abertura minimizada da planilha, deve-se ao fato da proteção da pasta de trabalho (iclusive proteção sem senha).
O tamanho de seu arquivo, apesar de não muito grande, está gerando uma lentidão no mesmo, apenas "limpando" os colunas/linhas não utilizados, o mesmo reduziu para 3.5 MB e ficou mais "ágil".
No no modulo do "auto open" há um erro devido a "inibição" de algumas linhas deixando códigos após o "end sub", o que gera erro e talvez depuração.
Transferi esses códigos para o modulo "Esta pasta de trabalho" e unifiquei o auto open e Workbook open, permanecendo este ultimo que é o mais recomendado.
Não testei todos as funcionalidades, porem na única que testei (cadastro de pasto), gerou um erro pois a planilha está protegida.
Havendo a necessidade/desejo de proteger a planilha, ao efetuar o cadastro/exclusão é necessário desprotege-la inicialmente e voltar a protege ao terminar o cadastro/exclusão.

Link do arquivo: http://www.4shared.com/zip/9iK7WQ4Y/Projeto_.html

 
Postado : 26/08/2013 7:29 am
(@felipe-ics)
Posts: 14
Eminent Member
Topic starter
 

Muito Obrigado Reinaldo, a macro não esta mais lenta.. e enquanto a abertura minimizada era a opção "proteger pasta de trabalho"....

 
Postado : 27/08/2013 9:46 pm
(@felipe-ics)
Posts: 14
Eminent Member
Topic starter
 

Reinaldo, so mais uma duvida, vc disse que apenas "limpando" os colunas/linhas não utilizados, o mesmo reduziu para 3.5 MB e ficou mais "ágil".

Que linhas/colunas foram essas que vc limpou ?

 
Postado : 27/08/2013 9:54 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja em : viewtopic.php?f=28&t=3023

 
Postado : 28/08/2013 7:14 am