Sub RemoveNonDefaultCellStylesFromWorkbook()
Dim st As Style
Dim defaultStyles As Variant
Dim i As Long
Dim isDefault As Boolean
Dim normalStyle As String
Dim goodStyle As String
' 기본 스타일명 감지 (영문/한글)
On Error Resume Next
normalStyle = ActiveWorkbook.Styles("Normal").NameLocal
goodStyle = ActiveWorkbook.Styles("Good").NameLocal
On Error GoTo 0
' 한글/영문 기본 스타일 배열 설정 (동일한 스타일명 기준)
defaultStyles = Array( _
"20% - 강조색1", "20% - 강조색2", "20% - 강조색3", "20% - 강조색4", "20% - 강조색5", "20% - 강조색6", _
"40% - 강조색1", "40% - 강조색2", "40% - 강조색3", "40% - 강조색4", "40% - 강조색5", "40% - 강조색6", _
"60% - 강조색1", "60% - 강조색2", "60% - 강조색3", "60% - 강조색4", "60% - 강조색5", "60% - 강조색6", _
"강조색1", "강조색2", "강조색3", "강조색4", "강조색5", "강조색6", _
"경고문", "계산", "나쁨", "메모", "백분율", "보통", "설명 텍스트", "셀 확인", _
"쉼표", "쉼표 [0]", "연결된 셀", "요약", "입력", "제목", "제목 1", "제목 2", "제목 3", "제목 4", _
"좋음", "출력", "통화", "통화 [0]", "표준", _
"20% - Accent1", "20% - Accent2", "20% - Accent3", "20% - Accent4", "20% - Accent5", "20% - Accent6", _
"40% - Accent1", "40% - Accent2", "40% - Accent3", "40% - Accent4", "40% - Accent5", "40% - Accent6", _
"60% - Accent1", "60% - Accent2", "60% - Accent3", "60% - Accent4", "60% - Accent5", "60% - Accent6", _
"Accent1", "Accent2", "Accent3", "Accent4", "Accent5", "Accent6", _
"Bad", "Calculation", "Check Cell", "Comma", "Comma [0]", "Currency", "Currency [0]", _
"Explanatory Text", "Good", "Input", "Linked Cell", "Neutral", "Note", "Output", "Percent", _
"Title", "Heading 1", "Heading 2", "Heading 3", "Heading 4", "Total", "Warning Text", "Standard", "Summary" _
)
Application.ScreenUpdating = False
' 스타일을 뒤에서부터 삭제 (앞에서부터 삭제하면 인덱스 오류 발생 가능)
For i = ActiveWorkbook.Styles.Count To 1 Step -1
Set st = ActiveWorkbook.Styles(i)
isDefault = False
For Each def In defaultStyles
If st.NameLocal = def Then
isDefault = True
Exit For
End If
Next def
' 기본 스타일이 아니고, 사용 중이 아니라면 제거
If Not isDefault Then
On Error Resume Next
st.Delete
On Error GoTo 0
End If
Next i
Application.ScreenUpdating = True
MsgBox "기본 스타일을 제외한 모든 스타일이 삭제되었습니다."
End Sub
위처럼 입력하면 엑셀에서 빈 워크북을 생성했을 때의 스타일들만 남게 됩니다.
댓글
댓글 쓰기