아마도 이런 일이 발생했을 것입니다. 통합 문서를 열고 일부 워크 시트를 둘러 본 다음 통합 문서를 닫습니다. 닫는 과정에서 Excel은 변경 사항을 저장할 것인지 묻는 메시지를 표시하지만 사용자는 변경하지 않고 둘러보기 만했습니다. 무엇을 제공합니까?

내부적으로 Excel은 일반적으로 “더티 플래그”라고하는 것을 유지합니다. 이 플래그는 통합 문서를 변경할 때마다 설정됩니다.

통합 문서를 저장할 때마다 플래그가 지워집니다. 통합 문서를 닫을 때 플래그가 설정되어 있으면 Excel에서 통합 문서를 저장할 것인지 묻습니다.

셀을 편집하거나 어떤 식 으로든 통합 문서의 구조를 수정하는 것과 같이 통합 문서를 명시 적으로 변경하면 더티 플래그가 설정 될 수 있습니다. 그러나 명시적인 작업을 수행하지 않아도 설정 될 수 있습니다. 때때로 Excel은 통합 문서를 열었 기 때문에 통합 문서의 내용에 영향을 미치는 작업을 수행합니다. 이렇게하면 더티 플래그가 설정되고 저장 요청이 트리거됩니다.

이러한 자동 변경을 수행하는 두 가지 큰 범인은 TODAY 및 NOW 워크 시트 함수입니다. 이들은 각각 시스템 날짜와 시스템 시간을 반환합니다. 통합 문서를 처음 열면 일반적인 재 계산 과정에서 업데이트됩니다. 변경 사항을 나타내므로 Excel은 더티 플래그를 설정합니다. 이들은 두 가지 가능한 범인 일뿐입니다. 동일한 “이 통합 문서가 변경되었습니다”를 가질 수있는 다른 함수가 있습니다.

효과. 완전하지 않은 목록에는 INDIRECT, OFFSET, RAND 및 RANDBETWEEN이 포함됩니다.

통합 문서에 다른 워크 시트의 데이터에 대한 링크가 포함 된 경우 더티 플래그를 자동으로 설정할 수도 있습니다. Excel은 방금 연 통합 문서의 변경 사항을 나타내는 데이터를 검색합니다. Excel은 단순히 통합 문서를 탐색하여 셀을 선택하거나 다른 워크 시트로 변경하는 등의 작업을 수행하는 경우 더티 플래그를 설정하지 않습니다.

문제를 해결할 수있는 한 가지 방법은 통합 문서를 변경하는 원인을 제거하는 것입니다. 대부분의 사람들에게 이것은 실용적이지 않습니다.

ThisWorkbook 개체의 일부 여야하는 다음과 같이 통합 문서가 닫히기 직전에 실행될 자동 매크로를 추가 할 수도 있습니다.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ActiveWorkbook.Saved = True End Sub

이 매크로는 더티 플래그 (저장된 속성)를 지우는 것 이상을 수행하지 않습니다. 이 접근 방식은 효과가 있지만 사용에 내재 된 큰 위험이 있습니다. 매크로가 있으면 Excel은 통합 문서에 합법적 인 변경이 수행 된 경우에도 종료시 변경 내용을 저장할 것인지 묻지 않습니다. 따라서 변경할 때마다 통합 문서의 내용을 명시 적으로 저장해야합니다. 그렇지 않으면 작업의 일부를 잃을 수 있습니다.

이 접근 방식의 변형 (잊혀진 변경 사항을 덜 용서하지 않음)은 실제로 ThisWorkbook 개체에 대한 Workbook_Open 프로 시저의 매크로 부분을 만드는 것입니다.

Private Sub Workbook_Open()

ActiveWorkbook.Saved = True End Sub

이제 Excel에서 통합 문서를 열고 다시 계산 (TODAY 및 NOW와 같은 함수를 기반으로 변경 포함) 한 다음 더티 플래그를 지 웁니다. 즉시 닫으면 변경 사항을 저장할 것인지 묻는 메시지가 표시되지 않습니다. 그러나이 매크로가 실행 된 후 (즉, 워크 시트가 완전히 열린 후) 변경 사항을 저장하려면 변경 사항을 저장할 것인지 묻는 메시지가 표시됩니다.

더티 플래그를 설정하는 함수를 자동으로 다시 계산하는 것 외에도 통합 문서에 열 때 자동으로 실행되는 매크로가 한두 개 포함되어있을 수도 있습니다. 매크로가 통합 문서에서 일종의 변경을 수행하는 경우 자연스럽게 더티 플래그를 설정합니다. VBA 편집기에서 이것이 사실인지 확인할 수 있습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (12352)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.

Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전은`link : / excel-Saving_Non-Existent_Changes [Saving Non-Existent Changes]`에서 찾을 수 있습니다.