Compartilhar via

VBA travando Excel.

Anônima
2016-03-30T13:17:04+00:00

Estou tendo problemas com o VBA que está travando o Excel.

O Excel parece ficar em loop.

QUALQUER código vba faz o excel travar, não precisa nem executar o código. Tipo esse:

Public Sub Teste()

DoEvents

End Sub

Basta abrir o arquivo que o excel trava, não permitindo clicar nas celulas e nem nos menus do excel.

A maquina é win7 32bits, e o erro aconteceu com o Office 2007 e com o Office 2010.

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2016-03-30T16:38:55+00:00

obrigado pela resposta.

descobri que era interferência com o programa dropbox.

o dropbox troca o ícone e isso não sei porque, gera instabilidade no excel/vba.

bastou alterar a configuração do dropbox para não alterar os ícones dos arquivos sincronizados por ele.

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

2 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2016-04-12T19:00:40+00:00

    Eu também estou com o mesmo problema. Ao fazer o seguinte código gera o seguinte erro:

    Private Sub btnLancar_Click()

    linha = Sheet1.Columns(1).End(xlDown).Row + 1

    Sheet1.Cells(linha, 1) = txtRc

    End Sub

    Se eu comentar a linha Sheet1.Cells(linha, 1) = txtRc

    não dá o erro, mas se eu após executar o código, digitar na Sheet1, qualquer informação, o mesmo erro ocorre.

    O que será isto? 

    Vocês já se depararam?

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2016-03-30T16:32:21+00:00

    Boa tarde,

    Poderia dizer como e quando se iniciou o problema?

    Aparentemente há um evento disparando outro evento gerando um loop de processamento..

    Veja um exemplo que código que trava o Excel:

    Private Sub Worksheet_Change(ByVal Target As Range)

    [A1] = [A1] + 1

    End Sub

    O evento Change gera uma mudança que dispara novamente o evento Change, o que gera um loop infinito.

    Para resolver esse tipo de problema, utilizamos o comando Application.EnableEvents primeiro com status False para inibir a execução e depois como True para restaurar o Excel. Veja a seguir o código modificado.

    Private Sub Worksheet_Change(ByVal Target As Range)

    Application.EnableEvents = False

    [A1] = [A1] + 1

    Application.EnableEvents = True

    End Sub

    Veja se é isso que está ocorrendo, caso contrário passe mais informações sobre os códigos que está executando no seu arquivo.

    [ ]s

    Esta resposta foi útil?

    0 comentários Sem comentários