엑셀 셀 서식이 많습니다.!!
해결 방법!
VBA를 하실 줄 아신다면 아래 코드를 이용하면 대부분 해결됩니다.
(모르시는 분은.. 흠...... 나중에 스샷이라도 찍어서 올려, 사용할 수 있게 해드릴께요;;)
Dim n As Integer, yn As Byte
On Error Resume Next
Dim iCnt
Dim i
For n = ActiveWorkbook.Styles.Count To 1 Step -1
If Not (ActiveWorkbook.Styles(n).Name = "Normal") Then
ActiveWorkbook.Styles(n).Delete
End If
Next
하지만 위의 경우를 복사해서 사용하면 계속 먹통이 되는 경우도 있지요....
(그럴 땐 CTRL + BREAK 키를 이용하세요...)
이럴 땐 아래 코드를 이용해보세요..
Dim n As Integer, yn As Byte
On Error Resume Next
Dim iCnt
Dim i
iCnt = ActiveWorkbook.Styles.Count
For i = 0 To iCnt
If Not (ActiveWorkbook.Styles(i).Name = "Normal") Then
ActiveWorkbook.Styles(i).Delete
End If
Next i
뭐... 위와 거의 비슷하지만.. 조금 강제적인게 달라서..
그래도 시간이 오래갑니다.. 조금 기다리세요..
--왜 두번째 것을 해야하는가?! 라면...
처음 것은 스타일을 완전히 삭제할 때까지 진행하는 것 같은데.. 절대 삭제되지 않는 스타일이 있어요..(기본 스타일 및 버그 걸린 스타일..) 이 때 이 것을 삭제하지 못하면서 무한 루프에 빠지는듯 합니다.
(정확한 것은 아닙니다. 예측일뿐..)
그래서 못 지우는 것은 넘기고.. 그냥 삭제하자 하는 것으로 코드를 살짝 바꾼게 두 번째 것입니다.
하지만 위에 것도 완전히 삭제하는 것은 아니기 때문에 두번째 코드를 한 2~3번 반복하신 후에..
첫번째 코드를 실행 하는 것을 추천드립니다.
--추가 설명
delete는 지정된 것을 삭제하는데... 그럼 뒤에 것이 알아서 앞으로 당겨져 연결되는 stack 구조인듯 합니다. 하지만 i는 계속 상승하니깐 앞으로 당겨진 스타일은 삭제할 수 없게 되는거죠..(대신 삭제 못하는 것을 뛰어넘고 다른 것을 삭제할 수 있게 됩니다.)
위에 것들은 진행상황을 볼 수 없어서.. UserForm으로 제작한 것이 있어요..
아래 두 개의 파일을 받아 주시구요..(frx는 없어도.. 되려나??)
(헛;; 예전에 있던 것은 잘못된 거군요 .. 새로 업데이트 합니다;;)
받은 후에, 보기>매크로 를 눌러주세요.
그냥 아무 매크로 이름을 넣고 편집을 눌러주시면 VBA 창이 나타납니다.
삽입>파일
을 해주신 다음, 받은 파일을 열어주세요.
그럼 왼쪽에 프로젝트에서 '폼'이라고 추가가 되어 있을 거에요.
열어보시면 UserForm2가 추가되어 있을 것입니다.
클릭해 보시면 이상한 모양의 팝업창이 떠 있을 거에요.
이후 상단의 녹색 ▷ 버튼을 눌러보세요.
ㅋㅋ 그럼 아까 보였던 팝업창이 나타날 것입니다.
그럼 '1단계 강제 삭제' 버튼을 2~3번 눌러주시고.
이후 '2단계 강제 삭제' 버튼을 눌러주시면 모든 스타일 완전히 삭제할꺼에요. ㅎㅎ
(이렇게도 안되는 경우가 있는데... 그 땐.. 어떻카죠 ;ㅁ; 잘 모르겠어요..)
우와 힘들군요.. 스샷이라도 첨부하면 좋겠지만.. 귀찮으니 패스...
(그럴 일은 없겠지만...)댓글이라도 달리면 나중에 추가 수정하죠..
뭐 알아들을 사람들은 아무렇게나 써도 알아들을테니.. 필요 없으실꺼구요 ㅎㅎ
'학습 > 엑셀 VBA' 카테고리의 다른 글
엑셀 VBA 속도 향상! (서식계산 옵션 VBA로 변경하기) (0) | 2011.12.23 |
---|---|
엑셀 오늘 날짜 기록 (0) | 2011.07.13 |
엑셀 VBA로 이미지 파일 읽어서 붙이기!!! (0) | 2011.06.08 |
엑셀 VBA를 이용해서 다른 프로그램 실행시키기 (3) | 2011.05.16 |
[엑셀]VBA를 이용해서 Text 파일 읽기 (UTF-8 파일 읽기) (0) | 2011.05.12 |