MS Excel의 스타일 오류를 간단히 수정하기
구라 제거기 매우 잘 이용하고 있습니..
감사합니다. 이름이 참 맘에 듭니다...
2016.11.10 23:08
여러 사람의 손을 거친 MS Excel 파일에선 온갖 예측할 수 없는 일들이 벌어지곤 한다.그 중 특이한 경우 중 하나가 스타일이 깨지는 것.보통의 Excel 파일에서 스타일 탭을 클릭하면 아래와 비슷한 모습을 볼 수 있다.하지만, (특히 회사에서) 여러 사람의 손을 거친 파일을 보면 저렇지 않다.종종 이와 같이 전혀 정체를 알 수 없는 스타일들이 잔뜩 들어있는 걸 볼 수 있다.심지어 일부는 글자가 깨져 적용할 수도, 삭제할 수도 없는 경우를 만날 수 있기도 하다.셀을 합치려고 해도 스타일이 너무 많다는 이유로 셀도 합칠 수 없는 사태가 벌어지기도 한다.이런 경우에 기본 스타일만을 남기고 몽땅 삭제하려면 간단하게 아래와 같은 매크로를 실행하면 된다.
Sub StyleKill()&nbsp;&nbsp;&nbsp; Dim styT As Style&nbsp;&nbsp;&nbsp; Dim intRet As Integer&nbsp;&nbsp;&nbsp; For Each styT In ActiveWorkbook.Styles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not styT.BuiltIn Then styT.Delete&nbsp;&nbsp;&nbsp; Next styTEnd Sub
그런데, 회사에서 스타일이 몇 천 개나 되는 경우를 만나니 너무 느리게 동작한다.이런 경우에 최대한 빠르게 동작시키기 위해서는 화면 갱신을 잠시 멈추고, 재계산을 중단하는 등의 처리를 하면 된다.이러한 기능을 모두 적용한 코드는 아래와 같다.
Sub StyleKill()&nbsp;&nbsp;&nbsp; Dim styT As Style&nbsp;&nbsp;&nbsp; Dim intRet As Integer&nbsp;&nbsp;&nbsp; On Error Resume Next&nbsp;&nbsp;&nbsp;&nbsp; back1 = Application.ScreenUpdating&nbsp;&nbsp;&nbsp; back2 = Application.Calculation&nbsp;&nbsp;&nbsp; back3 = Application.EnableEvents&nbsp;&nbsp;&nbsp; Count = 0&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Application.ScreenUpdating = False&nbsp;&nbsp;&nbsp; Application.Calculation = xlCalculationManual&nbsp;&nbsp;&nbsp; Application.EnableEvents = False&nbsp;&nbsp;&nbsp;&nbsp; For Each styT In ActiveWorkbook.Styles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Not styT.BuiltIn Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; styT.Delete&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Count = Count + 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If&nbsp;&nbsp;&nbsp; Next styT&nbsp;&nbsp;&nbsp;&nbsp; Application.ScreenUpdating = back1&nbsp;&nbsp;&nbsp; Application.Calculation = back2&nbsp;&nbsp;&nbsp; Application.EnableEvents = back3&nbsp;&nbsp;&nbsp;&nbsp; MsgBox (Count &amp; " style(s) removed")End Sub
'IT > 잡담' 카테고리의 다른 글
메탈리카 스타일의 로고를 만들어보자 (0)
또 하나의 고품질 픽셀 아트 리샘플러 xBRZ (0)
MS Excel의 스타일 오류를 간단히 수정하기 (0)
VS2015에서 Depixelizing Pixel Art 컴파일 #3 (0)
VS2015에서 Depixelizing Pixel Art 컴파일 #2 (0)
VS2015에서 Depixelizing Pixel Art 컴파일 #1 (0)
1···343536373839404142···429