여러 사람의 손을 거친 MS Excel 파일에선 온갖 예측할 수 없는 일들이 벌어지곤 한다.
그 중 특이한 경우 중 하나가 스타일이 깨지는 것.
보통의 Excel 파일에서 스타일 탭을 클릭하면 아래와 비슷한 모습을 볼 수 있다.
하지만, (특히 회사에서) 여러 사람의 손을 거친 파일을 보면 저렇지 않다.
종종 이와 같이 전혀 정체를 알 수 없는 스타일들이 잔뜩 들어있는 걸 볼 수 있다.
심지어 일부는 글자가 깨져 적용할 수도, 삭제할 수도 없는 경우를 만날 수 있기도 하다.
셀을 합치려고 해도 스타일이 너무 많다는 이유로 셀도 합칠 수 없는 사태가 벌어지기도 한다.
이런 경우에 기본 스타일만을 남기고 몽땅 삭제하려면 간단하게 아래와 같은 매크로를 실행하면 된다.
1 2 3 4 5 6 7 | Sub StyleKill() Dim styT As Style Dim intRet As Integer For Each styT In ActiveWorkbook.Styles If Not styT.BuiltIn Then styT.Delete Next styTEnd Sub |
그런데, 회사에서 스타일이 몇 천 개나 되는 경우를 만나니 너무 느리게 동작한다.
이런 경우에 최대한 빠르게 동작시키기 위해서는 화면 갱신을 잠시 멈추고, 재계산을 중단하는 등의 처리를 하면 된다.
이러한 기능을 모두 적용한 코드는 아래와 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Sub StyleKill() Dim styT As Style Dim intRet As Integer On Error Resume Next back1 = Application.ScreenUpdating back2 = Application.Calculation back3 = Application.EnableEvents Count = 0 Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False For Each styT In ActiveWorkbook.Styles If Not styT.BuiltIn Then styT.Delete Count = Count + 1 End If Next styT Application.ScreenUpdating = back1 Application.Calculation = back2 Application.EnableEvents = back3 MsgBox (Count & " style(s) removed" )End Sub |
최초의 컴파일러를 만든 그레이스 호퍼 제독 이야기 (0) | 2016.12.28 |
---|---|
1GB 넘는 메모리 할당이 실패하는 경우를 만나다니… (0) | 2016.11.25 |
Amazon Route 53에서 도메인 구입 및 티스토리/네이버 웍스 연결기 (2) | 2016.09.20 |
Visual Studio 2010 삽질기 (0) | 2016.08.28 |
Visual Studio 2015 Update 3 RC로 인해 XP 지원은 종료하기로… (0) | 2016.06.13 |
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.