Não há memória suficiente para concluir esta ação

0

Eu tenho um pequeno problema com o excel. Toda vez que eu abro uma folha eu recebo este erro:

depoisde10-15minutos.Eutenteiváriascoisaslistadasnainternet,aquiestáumalistasobreascoisasqueeutentei:Adicionandomemóriaextramudandode32bitspara64bitseinvertida,adicionandomemóriavirtual,DesativandoehabilitandoDDE,alterandoversõesdeescritório,tambémalgumasconfiguraçõesderegistro.Agoraeuqueriasaberseétalvezamacroqueestouusandoquealternaentre2folhasemumintervalo.Nocomeçoeupenseiqueeraumproblemaseeutirasseumcompartilhamento,entãoeuescreviumscriptqueoscopialocalmente,masoerroaindaocorre.

Manipuladordeerros

DimRunTime1AsDateSubMacroSwitch()Application.DisplayFullScreen=TrueOnErrorGoToErrhandlerApplication.ScreenUpdating=FalseWorkbooks.OpenFilename:=_ThisWorkbook.Path&"\Monteursplanning.extern.xls", ReadOnly:=True
     ActiveWindow.WindowState = xlMaximized

     Exit Sub

Errhandler:
     MsgBox "An error has occurred. The macro will end."

     Application.DisplayFullScreen = False
End Sub

StartSwitchbutton

Sub MacroAutoRun1() 

     Application.DisplayFullScreen = True



RunTime1 = Now + TimeValue("00:01:00")


    Application.OnTime RunTime1, "MacroAutoRun1"


    If IsWbOpen("Monteursplanning.extern.xls") Then

         Application.ScreenUpdating = False

         Workbooks.Open Filename:= _
            ThisWorkbook.Path & "\Monteursplanning.intern.xls", ReadOnly:=True
         ActiveWindow.WindowState = xlMaximized

         Windows("Monteursplanning.extern.xls").Activate
         ActiveWindow.Close

         Application.ScreenUpdating = True

    Else

         Application.ScreenUpdating = False



         Workbooks.Open Filename:= _
            ThisWorkbook.Path & "\Monteursplanning.extern.xls", ReadOnly:=True
         ActiveWindow.WindowState = xlMaximized

         Windows("Monteursplanning.intern.xls").Activate
         ActiveWindow.Close

         Application.ScreenUpdating = True

    End If
  End Sub

algum pensamento?

    
por Dylan Rz 14.09.2016 / 09:06

1 resposta

0

Você pode optar por um Script AutoIt que reabra periodicamente a pasta de trabalho ou pode fazer isso com um DataSource no arquivo "Exibir" e um código para alternar entre as folhas desse arquivo.

  • Configure uma conexão para o arquivo do Excel usando Data = > Conexões / Conexões Existentes = > Outros elementos (na parte inferior) e selecionando seu Monteurplannung.intern.xls adicionam os dados à sua primeira planilha. Certifique-se de verificar as propriedades para configurar uma atualização automática e editar a definição para substituir Mode=Share Deny Write por Mode=Read para garantir que o (s) arquivo (s) seja (em) aberto (s) como somente leitura.
  • Configure uma segunda conexão para o outro arquivo e exiba esses dados na segunda folha. As opções permitem especificar um intervalo de atualização.

Tudo com base nas informações contidas neste tópico de ajuda .

Depois disso, você terá que configurar uma outra macro para alternar entre essas folhas. Você pode reciclar parte do seu código para isso.

Sub MacroAutoRun1()
    RunTime1 = Now + TimeValue("00:00:01")

    Application.OnTime RunTime1, "MacroAutoRun1"

    If ActiveSheet.Name = "Tabelle1" Then
        ThisWorkbook.Sheets("Tabelle2").Activate
    Else
        ThisWorkbook.Sheets("Tabelle1").Activate
    End If
End Sub
    
por 16.09.2016 / 14:57