2013-04-13 2 views
0

간단한 매크로 저장으로 30 초마다 Excel 파일을 저장할 수 있습니다 (Excel 2003). 동일한 매크로를 실행하는 두 개의 Excel 파일을 열어 두었습니다. 문제는 내가 열어 놓은 다른 통합 문서의 앞쪽에 통합 문서 '팝'을 저장할 때입니다.저장할 때 Excel 파일이 화면 앞에 나타납니다.

이것은 매우 귀찮습니다. 누구든지이 동작을 방지하는 방법을 알고 있습니까?

Public Sub macro_save() 
    Application.EnableEvents = False 
    Application.DisplayAlerts = False 

    ThisWorkbook.Save 
    If Second(Now) < 30 Then 
     Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now), 30), "macro_save" 
    Else 
     Application.OnTime VBA.TimeSerial(Hour(Now), Minute(Now) + 1, 0), "macro_save" 
    End If 

    Application.EnableEvents = True 
    Application.DisplayAlerts = True 
End Sub 

답변

2

은 하위에서 첫 번째 줄이 줄을 추가

Dim WBactive as Workbook 
Set WBactive = Activeworkbook 

End Sub 전에이 줄을 추가

WBactive.Activate 
당신은 또한 세 번째 라인으로 추가 할 수 있습니다

:

Application.ScreenUpdating = False 

하지만 서브 우퍼를 끝내기 전에 반대로 설정해야합니다 :

Application.ScreenUpdating = True 
+0

감사합니다! Application.ScreenUpdating = False가 추가되어 이제는 더 잘 작동하는 것 같습니다! – DavidJB

관련 문제