데이터가 있는 셀의 차트 색상

문제의 공식화

히스토그램의 열(또는 원형 차트의 조각 등)에 해당 셀을 소스 데이터로 채우는 데 사용된 색상을 자동으로 지정하고 싶습니다.

개별 동지의 놀라움과 분개함을 예상하면 물론 다이어그램의 채우기 색상을 수동으로 변경할 수도 있습니다(열을 마우스 오른쪽 버튼으로 클릭 – 포인트/시리즈 형식 (형식 데이터 포인트/시리즈) 등 - 아무도 논쟁하지 않습니다. 그러나 실제로는 데이터가 있는 셀에서 직접 이 작업을 수행한 다음 차트를 자동으로 다시 그려야 하는 더 쉽고 편리한 상황이 많이 있습니다. 예를 들어 이 차트의 열에 대한 채우기 영역을 설정하려면 다음을 시도하십시오.

당신이 아이디어를 얻을 것 같아요, 맞죠?

해법

매크로 외에는 아무것도 할 수 없습니다. 따라서 우리는 비주얼 베이직 에디터 탭에서 개발자 (개발자 — Visual Basic 편집기) 또는 키보드 단축키를 누르십시오 Alt + F11, 메뉴를 통해 새 빈 모듈 삽입 삽입 – 모듈 모든 작업을 수행할 해당 매크로의 텍스트를 복사합니다.

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" Exit Sub End If Set c = ActiveChart For j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Set r = Range(m(2)) For i = 1 To r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Next i Next j End Sub  

이제 Visual Basic을 닫고 Excel로 돌아갈 수 있습니다. 생성된 매크로를 사용하는 것은 매우 간단합니다. 차트 선택(그림 영역, 그리드 또는 열이 아닌 차트 영역!):

버튼으로 매크로를 실행합니다. 매크로개발자 (개발자 — 매크로) 또는 키보드 단축키로 Alt + F8. 같은 창에서 자주 사용하는 경우 버튼을 사용하여 매크로에 바로 가기 키를 할당할 수 있습니다. 파라미터 (옵션).

PS

연고의 유일한 비행은 조건부 서식 규칙을 사용하여 소스 데이터의 셀에 색상이 할당되는 경우 유사한 기능을 사용할 수 없다는 것입니다. 불행히도 Visual Basic에는 이러한 색을 읽기 위한 기본 제공 도구가 없습니다. 물론 특정 "목발"이 있지만 모든 경우에 작동하지 않으며 모든 버전에서 작동하지 않습니다.

  • 매크로란 무엇이며 사용 방법, Visual Basic에서 매크로 코드를 삽입할 위치
  • Excel 2007-2013의 조건부 서식
  • Excel 2013 차트의 새로운 기능

댓글을 남겨주세요.