VBA에서 코드짤때 Application.screenupdaing = False 이거는 워낙 자주쓰고
파일열때 쓰는 Open 메서드도 자주쓰는데
이거 두개를 같이, 잘못쓰면 문제가 생긴다.
회사에서 매크로만들다가 생긴문제라 코드를 보여주진 못하지만
============================
Application.screenupdaing = False
set 객체 = 객체.Open
(생략)
Application.screenupdaing = True
=============================
대충 이런 코드였고 for 순환문으로 계속 자료를 퍼나르는 형식임.
A파일 자료 → B파일로 복붙하는 매크로였는데 F8을 눌러서 한줄씩 작동시키면 문제가없는데
F5를 눌러서 한번에 실행시키면 A파일자료를 복사해서 A파일에다가 이상하게 붙여넣기 하는 문제가 발생함(?)
F5가 안돼서 디버깅하려고 F8을 누른건데 F8은 또 되니까 어이가 없어가지고 별에별짓을 다해봤는데
Application.screenupdating = False 이거를 지우니까 문제없이 작동함
이후에 순서를 바꿔서
===========================
set 객체 = 객체.Open
Application.screenupdaing = False
(생략)
Application.screenupdaing = True
=============================
이렇게 쓰니까 또 작동 잘됨. 구글에 한글로도 쳐보고 영어로 스택오버플로우도 찾아봤는데 이런 문제겪은 사람이 없어서 기록함
'엑셀 > 엑셀 VBA' 카테고리의 다른 글
VBA Workbook, Sheet, Range와 Select 메서드 에러와 대책 (1) | 2024.07.13 |
---|---|
Open했을때 열려있는 파일이면 그대로 실행하고 안열려있으면 열기 (0) | 2024.06.01 |
VBA Like 연산자 활용 (추가) (0) | 2024.05.17 |
숫자만 빼내기(추출하기) Like 연산자 활용, 함수, 자체함수 등등 (0) | 2024.05.17 |
파일 존재하는지, 열려있는지 함수 IsFileExist, IsFileOpen (0) | 2024.05.15 |