엑셀 셀 서식이 많습니다.!!

학습/엑셀 VBA|2011. 6. 28. 12:54
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

해결 방법!
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단계 강제 삭제' 버튼을 눌러주시면 모든 스타일 완전히 삭제할꺼에요. ㅎㅎ
(이렇게도 안되는 경우가 있는데... 그 땐.. 어떻카죠 ;ㅁ; 잘 모르겠어요..)

우와 힘들군요.. 스샷이라도 첨부하면 좋겠지만.. 귀찮으니 패스...
(그럴 일은 없겠지만...)댓글이라도 달리면 나중에 추가 수정하죠..
뭐 알아들을 사람들은 아무렇게나 써도 알아들을테니.. 필요 없으실꺼구요 ㅎㅎ




댓글()