Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기이 글의 목적은 엑셀 차트에서 범례(legend)가 사라졌을 때 발생 가능한 원인을 체계적으로 진단하고, 사용자 인터페이스(UI) 조작, 서식 옵션, 데이터 모델 점검, VBA 스크립트, 피벗 차트 특수 이슈까지 단계별로 해결하는 방법을 제공하는 것이다.
범례는 데이터 계열의 식별자를 표시하여 그래프 해석을 돕는 핵심 요소이다. 다음과 같은 증상이 보고되곤 한다.
| 주요 원인 | 설명 | 즉시 조치 |
|---|---|---|
| 차트 요소에서 범례 숨김 | 차트 요소 추가 기능에서 범례 체크가 해제되어 있음 | 차트 선택 → 차트 요소(+) → 범례 체크한다 |
| 빠른 레이아웃 또는 차트 스타일 변경 | 빠른 레이아웃/스타일이 범례를 포함하지 않는 구성 | 차트 디자인 → 빠른 레이아웃에서 범례 포함 레이아웃 선택한다 |
| 계열 이름 비어 있음 | 계열 이름(범례 텍스트)이 빈 셀 또는 공백 문자를 참조 | 데이터 선택 → 범례 항목(계열)에서 계열 이름을 적절히 지정한다 |
| 숨긴 행/열 데이터 | 계열이 숨겨진 행/열에 존재하여 표시 제외 | 차트 우클릭 → 데이터 선택 → 숨긴 셀 및 빈 셀 설정에서 숨긴 행과 열의 데이터 표시 체크한다 |
| 필터·슬라이서로 계열 0개 | 필터 결과 남은 계열이 없거나 단일 계열로 수렴 | 필터 해제 또는 최소 2개 이상 계열이 남도록 범위를 조정한다 |
| 차트 영역-플롯 영역 충돌 | 범례가 플롯 영역에 가려짐 또는 영역 밖으로 밀려남 | 서식 → 플롯 영역 크기 축소 또는 범례 위치를 오른쪽/아래로 변경한다 |
| 차트 템플릿(.crtx) 문제 | 템플릿에 HasLegend=False 상태가 저장됨 | 템플릿 재저장 전 범례=표시로 설정 후 다시 저장한다 |
| 피벗 차트 레이아웃 초기화 | 피벗 갱신 시 레이아웃과 필드 배치가 초기화 | 피벗차트 도구에서 항목 배치 고정, 업데이트 시 레이아웃 유지 옵션 점검한다 |
| 호환성 모드 | .xls 등 구형 형식으로 저장되어 차트 옵션 제한 | .xlsx로 저장 후 차트 다시 구성한다 |
| 글꼴·테마 색 문제 | 범례 텍스트가 배경과 동일한 색상 | 범례 서식에서 텍스트 색상과 채우기 색을 재지정한다 |
상황에 따라 단일 계열로 구성된 차트는 범례가 자동으로 생략되기도 한다. 이해를 돕기 위해 차트 유형별 기본 동작을 요약한다.
| 차트 유형 | 단일 계열 범례 | 다중 계열 범례 | 특기사항 |
|---|---|---|---|
| 세로/가로 막대형 | 생략될 수 있음 | 표시 | 범주 수가 많으면 범례보다 데이터 레이블 추천이다 |
| 꺾은선형 | 생략될 수 있음 | 표시 | 마커 유무에 따라 가독성 변화가 크다 |
| 영역형 | 생략될 수 있음 | 표시 | 누적형은 색 대비 확보가 중요하다 |
| 원형/도넛형 | 표시 | 표시 | 범례가 항목명일 수 있으므로 데이터 레이블과의 중복에 유의한다 |
| 콤보형 | 표시 | 표시 | 보조축 사용 시 범례 정렬을 확인한다 |
| 피벗 차트 | 상황 의존적 | 표시 | 갱신 시 레이아웃 유지 옵션을 확인한다 |
셀 내 공백이나 제어문자는 범례 공란처럼 보이게 할 수 있다. 다음 수식으로 정리한다.
=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," "))) 위 수식으로 정리한 표시용 이름 열을 만든 뒤, 계열 이름 참조를 해당 열로 재설정한다.
OFFSET 또는 테이블 참조로 계열이 동적으로 변할 때 범례가 일부 비는 경우가 있다. 다음 원칙을 따른다.
슬라이서로 필터가 과도하게 적용되면 남는 계열이 0개가 되어 범례가 비어 보인다. 최소 1개 이상의 계열이 항상 남도록 기본 필터를 설계한다.
.xls 등 구형 형식으로 저장된 통합 문서는 차트 옵션이 제한될 수 있다. 파일 → 다른 이름으로 저장 → 형식을 .xlsx 또는 .xlsm으로 선택하여 저장하고 차트를 재검토한다.
범례 텍스트 색과 배경색이 유사하면 사라진 것처럼 보인다. 다음을 점검한다.
여러 차트에서 범례가 동시에 사라졌다면 VBA로 일괄 복구하는 것이 효율적이다. 다음 코드를 Alt+F11 → 삽입 → 모듈에 붙여넣고 실행한다.
' 모든 워크시트의 모든 차트에 범례 표시 및 위치 설정 Sub ShowLegendsAllCharts() Dim ws As Worksheet Dim co As ChartObject For Each ws In ActiveWorkbook.Worksheets For Each co In ws.ChartObjects With co.Chart .HasLegend = True .Legend.Position = xlLegendPositionRight End With Next co Next ws End Sub 차트 시트(Chart Sheet)에 대해서도 처리하려면 다음을 추가한다.
Sub ShowLegendsChartSheets() Dim cs As Chart For Each cs In ActiveWorkbook.Charts cs.HasLegend = True cs.Legend.Position = xlLegendPositionBottom Next cs End Sub 범례의 텍스트는 계열 이름에 의존한다. 다음 코드는 계열 이름이 비어 있을 때 기본 헤더 셀을 참조해 자동 지정한다. 데이터 배열은 1행에 헤더, 아래로 값 구조를 가정한다.
' 활성 차트의 각 계열 이름을 헤더 셀로 자동 지정 Sub FixSeriesNamesFromHeader() Dim ch As Chart Dim s As Series Set ch = ActiveChart If ch Is Nothing Then MsgBox "차트를 먼저 선택한다." Exit Sub End If For Each s In ch.SeriesCollection If Len(s.Name) = 0 Or s.Name Like "Series*" Then On Error Resume Next s.Name = "=" & s.XValues.Parent.Parent.Name & "!" & s.XValues(1).Offset(-1, 0).Address On Error GoTo 0 End If Next s End Sub 페이지 여백, 배율 조정, 한 페이지에 맞추기가 차트 크기를 변경하여 범례가 잘리는 경우가 있다. 다음 절차로 검증한다.
보조축을 사용하는 콤보 차트에서 일부 계열이 범례에 누락될 경우, 다음을 확인한다.
데이터 레이블을 범례처럼 활용하면 범례가 가시성 면에서 필요 없어질 수 있으나, 일관성 유지를 위해 범례를 유지하는 것이 권장된다. 레이블을 축약하고 범례에 정식 명칭을 유지한다.
일부 추가기능이 차트 생성 시 템플릿을 강제 적용할 수 있다. 문제 재현 시 추가 기능을 비활성화하여 재시험하고, 정상 동작 확인 후 충돌 Add-in을 분리한다.
1) 차트를 클릭 → 차트 요소에서 범례 켠다 2) 빠른 레이아웃/스타일 재적용하여 범례 포함 구성으로 전환한다 3) 데이터 선택 → 각 계열 이름을 유효한 헤더 셀로 지정한다 4) 숨긴 셀 및 빈 셀 설정에서 숨긴 행·열 데이터 표시를 허용한다 5) 플롯 영역 크기를 줄이고 범례 위치를 오른쪽 또는 아래로 지정한다 6) 피벗 차트라면 필터·필드 배치를 점검하고 레이아웃 유지 옵션을 적용한다 7) .crtx 템플릿을 재저장하여 HasLegend=True 상태를 기준으로 표준화한다 8) 그래도 안 되면 VBA 일괄 복구 스크립트를 실행한다 | 검사항목 | 합격 기준 | 판정 |
|---|---|---|
| 범례 표시 여부 | 모든 대상 차트에서 범례가 보임 | Pass/Fail |
| 범례 텍스트 정확성 | 계열 이름과 일치, 오탈자 없음 | Pass/Fail |
| 색 대비 | WCAG 준수 수준의 대비 확보 | Pass/Fail |
| 인쇄 프리뷰 | 페이지 배율 변경 시 범례 유지 | Pass/Fail |
| 피벗 갱신 내구성 | 데이터 갱신 후 범례 유지 | Pass/Fail |
| 템플릿 일관성 | .crtx 재적용 시 범례 유지 | Pass/Fail |
가능하다. 차트 요소에서 범례를 활성화하거나 VBA로 ActiveChart.HasLegend=True를 실행한다. 다만 가독성 측면에서 단일 계열은 데이터 레이블이 더 효율적일 수 있다.
데이터 선택 → 범례 항목(계열) 목록에서 위/아래 화살표로 순서를 조정한다. VBA에서는 SeriesCollection(i) 순서를 재구성한다.
범례 선택 → 홈 탭 또는 도형 서식의 텍스트 옵션에서 글꼴 크기·굵기를 조정한다. 항목이 길면 줄 바꿈 대신 약칭을 권장한다.
페이지 레이아웃에서 배율을 100%로 설정해 테스트하고, 차트 크기를 약간 줄여 범례 영역이 잘리지 않게 조정한다.
필터 결과 계열이 0개 또는 1개만 남아 범례가 생략되기 때문이다. 최소 2개 이상의 계열이 남도록 필드 구성을 조정한다.