이 작업을 완료하기위한 메모리가 부족합니다


0

Excel에 약간의 문제가 있습니다. 시트를 열 때 마다이 오류가 발생합니다.

여기에 이미지 설명을 입력하십시오

10-15 분 후에 요 인터넷에 나열된 몇 가지 사항을 시도했지만 여기에 시도한 사항이 있습니다 .32 비트에서 64 비트로 변경 및 반대로 변경되는 추가 메모리 추가, 가상 메모리 추가, DDE 비활성화 및 활성화, 사무실 버전 변경 및 몇 가지 등록 설정 . 이제는 내가 사용하는 매크로가 간격으로 2 장 사이를 전환하는지 궁금합니다. 처음에는 공유를 가져 와서 로컬로 복사하는 스크립트를 작성했지만 오류가 여전히 발생하면 문제라고 생각했습니다.

오류 처리기

Dim RunTime1 As Date

Sub MacroSwitch()

     Application.DisplayFullScreen = True

     On Error GoTo Errhandler

     Application.ScreenUpdating = False

     Workbooks.Open Filename:= _
        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

시작 스위치 버튼

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

이견있는 사람?


영어로 죄송합니다. 가능한 한 많은 Google 번역을 사용했습니다.
Dylan Rz

Windows 작업 관리자를 사용하여 메모리 소비 및 Excel 프로세스 수를 살펴 보셨습니까?
세스

@seth 예 오류 메시지와 함께 또는없이 메시지를 표시했지만 램 사용량과 CPU 사용량은 동일하게 유지됩니다. 오류가 발생하지만 갑자기 변경되지 않을 때까지 15 분 동안 모니터했습니다.
Dylan Rz

기계가 가지고있는 RAM의 양과 크기가 올바르게 이해하면 매 분마다 열리는 책의 양은 얼마나됩니까? 그 책들은 스스로 계산을합니까?
세스

@seth 2 시트는 300kb보다 크지 않으며 내가 아는 한 시트는 어떤 형태의 계산도 수행하지 않습니다. 모든 정적 텍스트입니다.
Dylan Rz

답변:


0

주기적으로 통합 문서를 다시 여는 AutoIt 스크립트를 사용하거나 "디스플레이"파일의 데이터 소스와 해당 파일의 시트간에 전환하는 코드를 사용하여 수행 할 수 있습니다.

  • 데이터 => 기존 연결 / 연결 => 기타 요소 (아래)를 사용하여 Excel 파일에 대한 연결을 설정하고 Monteurplannung.intern.xls를 선택하면 첫 번째 시트에 데이터가 추가됩니다. 대체 정의를 설정에 자동 새로 고침 속성을 확인하고 편집 할 수 있는지 확인 Mode=Share Deny Write하여 Mode=Read반드시 파일을 만들는 읽기 전용으로 열립니다.
  • 다른 파일에 대한 두 번째 연결을 설정하고 두 번째 시트에 해당 데이터를 표시하십시오. 옵션을 사용하면 새로 고침 간격을 지정할 수 있습니다.

도움말 항목 의 정보를 기반으로합니다 .

그런 다음 해당 시트 사이를 전환하려면 다른 매크로를 설정해야합니다. 이를 위해 코드의 일부를 재활용 할 수 있습니다.

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

내가 생각하는대로 작동합니다. 약간의 문제가 있지만 닫을 때마다 거의 강제로 닫힙니다. 일어난 일은 종료하고 열 때마다 왼쪽에 파일 복구 패널이 표시됩니다. 어쨌든? 아니면 복구 패널을 비활성화 하시겠습니까? 자동 저장을 비활성화하려고 시도했지만 작동하지 않았습니다.
Dylan Rz

흠 ~ 미안, 잘 모르겠습니다. : /
세스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.