- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 엑셀에서 여러 창을 동시에 사용할 때 발생하는 대표적 문제를 체계적으로 진단하고 재현 가능한 해결 절차와 예방 설정을 제공하여 실무 환경에서 바로 적용 가능하도록 돕는 것이다.
1. 여러 창 사용의 기본 개념 이해
엑셀 2013 이후 버전은 SDI(Single Document Interface) 구조를 채택하여 통합 문서마다 별도 창과 작업 표시줄 아이콘이 생성되는 구조이다. 같은 프로세스 내에서 창이 분리되어 보이나 내부적으로는 공통 리소스를 일부 공유한다. 반면 파일을 더블 클릭했을 때 설정이나 상황에 따라 별도의 엑셀 인스턴스가 추가 실행될 수 있다. 서로 다른 인스턴스는 클립보드·이벤트·추가 기능 로딩 상태가 독립적이라 교차 참조와 복사 붙여넣기 동작이 달라질 수 있다. 다중 모니터에서는 GPU 가속과 디스플레이 배율 차이로 렌더링 문제가 동반될 수 있다.
2. 증상별 빠른 진단 표
| 증상 | 원인 후보 | 즉시 조치 |
|---|---|---|
| 창이 각각 따로 열려 복사 붙여넣기가 안 됨 | 서로 다른 엑셀 인스턴스 실행, DDE 무시 옵션 활성화 | 옵션에서 DDE 사용 허용, 파일은 같은 인스턴스에서 열기 |
| 링크 수식이 #N/A 또는 값 고정 | 외부 통합 문서가 다른 인스턴스에서 열림 | 모든 파일을 동일 인스턴스에서 재오픈 |
| 여러 창에서 화면 깜박임·검은 화면 | 하드웨어 그래픽 가속 호환성 문제, 모니터 배율 불일치 | 가속 비활성화, 모니터 배율 통일, 그래픽 드라이버 업데이트 |
| 보기 나란히 비교/동기 스크롤이 안 됨 | 서로 다른 인스턴스에서 문서 열림 | 같은 인스턴스에서 새 창 기능으로 열기 |
| 개인용 매크로 통합문서(PERSONAL.XLSB) 충돌 | 다중 인스턴스에서 동시 로드 | 단일 인스턴스 사용 또는 로밍 위치 정리 |
| Alt+Tab 전환 시 창 사라짐처럼 보임 | 작업 표시줄 그룹화·최소화, 창 정렬 미설정 | 창 정렬(모두 정렬) 사용, 작업 표시줄 그룹화 해제 |
3. 같은 인스턴스에서 여러 창을 여는 안전한 절차
- 엑셀을 먼저 단 한 번 실행한다.
- 파일 → 열기로 첫 번째 통합 문서를 연다.
- 보기 → 새 창을 눌러 동일 문서를 두 번째 창으로 연다.
- 보기 → 모두 정렬을 선택하고 나란히 또는 수직을 지정한다.
- 서로 다른 파일을 나란히 보려면 같은 엑셀 창에서 파일 → 열기로 추가 문서를 연다.
4. 다른 인스턴스에서 열렸는지 판별하는 방법
- 작업 관리자에서 EXCEL.EXE가 여러 개 표시되는지 확인한다.
- VBA
Application.Hwnd값을 비교하여 창 핸들이 서로 다른 프로세스를 가리키는지 간접 확인한다. - 외부 참조 수식의 실시간 업데이트 여부를 확인한다. 다른 인스턴스일 경우 즉시 반영되지 않는다.
'즉석 판별 매크로: 같은 프로세스 내 창 수 확인 Sub CountWindows() Debug.Print "Workbooks:", Application.Workbooks.Count, _ "Windows:", Application.Windows.Count End Sub 5. DDE 관련 설정으로 더블 클릭 시 새 인스턴스 생성 문제 해결
- 파일 → 옵션 → 고급으로 이동한다.
- 일반 섹션에서 다른 응용 프로그램에서 동적 데이터 교환(DDE)을 무시 체크를 해제한다.
- Windows 기본 앱에서 .xlsx 파일 기본 프로그램을 Microsoft Excel로 재지정한다.
6. 링크·수식 업데이트가 안 되는 문제 해결
서로 다른 인스턴스에서 열면 외부 링크의 자동 재계산이 제한될 수 있다. 모든 관련 통합 문서를 하나의 인스턴스에서 열도록 재정리한다. 계산 모드를 수식 → 계산 옵션 → 자동으로 설정한다. 데이터 탭의 연결 편집에서 대상 경로가 정확한지 확인한다.
'링크 강제 재계산 스니펫 Sub ForceRecalc() Application.CalculateFullRebuild End Sub 7. 복사·붙여넣기와 클립보드 충돌 해결
- 서로 다른 인스턴스 간 붙여넣기 실패 시 클립보드 형식이 손실될 수 있다. 같은 인스턴스로 파일을 재오픈한다.
- 대체 방법으로 붙여넣기 옵션 → 값을 사용한다.
- 클립보드 관리자나 보안 솔루션이 가로채는 경우 예외 규칙을 추가한다.
8. 보기 나란히 비교·동기 스크롤이 동작하지 않을 때
보기 → 창 → 나란히 보기는 같은 인스턴스의 창에서만 동작한다. 두 통합 문서를 동일 인스턴스에서 열고 창 제목 표시줄 색이 동일 테마로 표시되는지 확인한다. 동기화된 스크롤을 켠다.
9. 다중 모니터 환경의 렌더링 오류와 깜박임
- 파일 → 옵션 → 고급 → 디스플레이에서 하드웨어 그래픽 가속 사용 안 함을 체크한다.
- Windows 설정에서 각 모니터의 배율을 동일 값으로 맞춘다.
- 그래픽 드라이버와 Office 업데이트를 최신으로 유지한다.
- 원격 데스크톱 사용 시 네트워크 가속 옵션을 낮추고 창 애니메이션을 끈다.
10. 창 정렬로 작업 속도 높이기
보기 → 모두 정렬을 사용하여 나란히, 수직, 바둑판 중 선택한다. 활성 창만 정렬 옵션을 해제하면 모든 창을 균등 분할한다. Windows의 스냅 레이아웃(Win+화살표)을 병행하면 배치가 더 빠르다.
| 단축키 | 용도 |
|---|---|
| Alt + W, N | 새 창 만들기 |
| Alt + W, A | 모두 정렬 |
| Win + ←/→/↑/↓ | Windows 스냅 |
| Ctrl + Tab | 문서 창 전환 |
| Alt + Tab | 앱 창 전환 |
11. 안전하게 다른 인스턴스로 여는 경우
초대형 통합 문서의 대량 계산이나 장시간 매크로 실행을 격리하려면 의도적으로 별도 인스턴스로 실행한다. 이 경우 교차 링크와 동기 스크롤은 기대하지 않는다.
'다른 인스턴스로 분리 실행(테스트 목적) Sub OpenInNewInstance(ByVal p As String) Shell """" & Application.Path & "\EXCEL.EXE"" """ & p & """", vbNormalFocus End Sub 12. 기존 창 재사용으로 강제 열기
파일을 항상 기존 실행 중인 엑셀 인스턴스에서 열도록 강제하려면 GetObject를 이용한 헬퍼를 사용한다.
'기존 인스턴스를 찾아 열기(클래식 방식) Sub OpenInExistingInstance(ByVal p As String) Dim xl As Object On Error Resume Next Set xl = GetObject(, "Excel.Application") If xl Is Nothing Then Set xl = CreateObject("Excel.Application") xl.Visible = True End If xl.Workbooks.Open p End Sub 13. 외부 참조·이름 관리자·Power Query 주의점
- 외부 참조는 상대 경로 사용 시 인스턴스와 무관하게 열람 경로가 달라질 수 있다. 가능한 절대 경로 또는 데이터 원본을 통일한다.
- 이름 관리자에서 통합 문서 범위와 워크시트 범위를 명확히 구분한다.
- Power Query는 동일 프로세스에서 캐시와 연결 상태를 공유한다. 다른 인스턴스에서 새로 고침하면 쿼리 순서와 의존성이 달라질 수 있다.
14. 추가 기능(Add-ins)과 COM 상호작용 문제
다중 인스턴스에서 동일 추가 기능이 중복 로딩되면 메뉴가 중복 표시되거나 이벤트가 두 번 실행될 수 있다. 파일 → 옵션 → 추가 기능에서 COM 추가 기능과 Excel 추가 기능을 분리 관리한다. 기업 배포 환경에서는 로드 동작을 로드 안 함 또는 요청 시로 맞춘다.
15. 대규모 파일과 계산 성능 튜닝
- 여러 창에서 무거운 파일을 동시에 자동 계산하지 않도록 수동 계산을 임시 적용하고 필요한 시점에만 F9로 계산한다.
- 불필요한 실시간 데이터 링크는 일시 중지한다.
- 조건부 서식과 휘발성 함수(OFFSET, INDIRECT 등)를 최소화한다.
'작업 전후로 화면/이벤트/계산 최적화 Sub WithPerformance(ByVal work As String) Dim oldCalc As XlCalculation oldCalc = Application.Calculation Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual '여기에 작업 수행 Debug.Print work Application.Calculation = oldCalc Application.EnableEvents = True Application.ScreenUpdating = True End Sub 16. 다중 모니터 이동 시 창 위치가 기억되지 않을 때
Windows 스냅 레이아웃을 활용하여 각 창을 원하는 사분면으로 고정한다. 엑셀 종료 전에 마지막 배치를 유지하면 다음 실행 시 동일 배치로 복원될 가능성이 높다. 레지스트리 클린업 도구나 가상 데스크톱 전환은 복원 정보를 초기화할 수 있으므로 주의한다.
17. 공동 편집과 창 분리의 상호작용
클라우드 공동 편집 중 여러 창을 열면 커서 표시와 변경 내용 병합이 지연될 수 있다. 동일 파일을 불필요하게 여러 창으로 열기보다 시트 분할이나 창 분할 기능을 우선 고려한다. 공동 편집 파일은 링크보다 표(테이블)와 데이터 모델을 경유한 참조가 안정적이다.
18. 실무 체크리스트
| 항목 | 체크 방법 | 주기 |
|---|---|---|
| DDE 무시 옵션 해제 | 파일 → 옵션 → 고급 확인 | 초기 설정 시 |
| 그래픽 가속 비활성화 | 디스플레이 섹션 체크 | 문제 발생 시 |
| 모니터 배율 통일 | Windows 디스플레이 설정 | 장비 변경 시 |
| 링크 대상 동일 인스턴스 | 파일 열기 경로 통일 | 작업 전 |
| 추가 기능 로드 정책 | COM/Excel 추가 기능 분리 관리 | 분기별 |
| 계산 모드 관리 | 자동↔수동 전환 기준 수립 | 프로젝트별 |
19. 자주 쓰는 창 작업 매크로
'두 창을 수직 정렬하고 동기 스크롤 켜기 Sub ArrangeAndSync() If Windows.Count < 2 Then ActiveWorkbook.NewWindow End If Application.Windows.Arrange ArrangeStyle:=xlVertical Application.CommandBars.ExecuteMso "WindowsSideBySide" Application.CommandBars.ExecuteMso "SynchronousScrolling" End Sub '두 파일을 같은 인스턴스에서 열고 나란히 비교 Sub OpenAndCompare(ByVal p1 As String, ByVal p2 As String) Workbooks.Open p1 Workbooks.Open p2 Application.Windows.Arrange xlVertical Application.CommandBars.ExecuteMso "WindowsSideBySide" End Sub 20. 문제 해결 절차 요약
- 증상 분류: 복사/붙여넣기, 링크 업데이트, 렌더링, 정렬 기능, 성능 중 무엇인지 식별한다.
- 인스턴스 확인: 작업 관리자와 DDE 설정을 점검한다.
- 같은 인스턴스로 통합: 실행 중 엑셀에서 파일 → 열기로 모두 연다.
- 디스플레이 최적화: 가속 비활성화와 배율 통일을 적용한다.
- 정렬·단축키로 배치: 새 창, 모두 정렬, Windows 스냅을 활용한다.
- 고급 이슈: 추가 기능 충돌과 PERSONAL.XLSB 중복 로딩을 점검한다.
FAQ
서로 다른 인스턴스에서 열어도 반드시 필요한 경우는 언제인가?
초대형 파일의 장시간 계산이나 대규모 매크로 실행을 다른 작업에 영향 없이 돌리고자 할 때 사용한다. 교차 링크·동기 스크롤·클립보드 형식 보존은 제한된다는 점을 감수해야 한다.
여러 창에서 외부 링크가 갱신되지 않는다. 어떻게 하나?
모든 관련 통합 문서를 동일 인스턴스에서 연다. 계산 옵션을 자동으로 두고, 연결 편집에서 대상 경로를 확인한다. 필요 시 Application.CalculateFullRebuild로 강제 재계산을 수행한다.
두 모니터에서 폰트가 흐리게 보인다.
모니터 배율을 동일 값으로 맞추고 하드웨어 그래픽 가속을 끈다. 드라이버와 Office 업데이트를 최신으로 유지한다.
탐색기 더블 클릭 시 자꾸 새 창이 아니라 새 인스턴스로 열린다.
고급 옵션의 DDE 무시 체크를 해제하고, .xlsx의 기본 앱을 Excel로 재지정한다. 가능하면 실행 중 Excel의 파일 열기를 사용한다.
새 창으로 같은 시트를 두 개 띄워 다른 영역을 동시에 보고 싶다.
보기 → 새 창으로 같은 통합 문서의 두 번째 창을 만들고 모두 정렬로 배치한다. 각 창에서 서로 다른 시트나 영역을 선택하면 된다.
PERSONAL.XLSB가 두 번 로드되며 오류가 뜬다.
다중 인스턴스에서 동시에 로드되는 상황이다. 단일 인스턴스로 통합하거나 PERSONAL.XLSB 위치를 정리한다.