메인 컨텐츠로 가기

Excel에서 셀 색상을 기반으로 차트 색상을 지정하는 방법은 무엇입니까?

일반적으로 차트를 만들 때 열 막대의 색상이 기본값입니다. 다음 스크린 샷과 같이 셀 색상을 기준으로 각 막대에 채워진 색상의 서식을 지정해야하는 경우 Excel에서 어떻게 해결할 수 있습니까?

VBA 코드가있는 셀 색상을 기반으로 하나 또는 여러 데이터 시리즈로 차트 색상 지정

놀라운 기능으로 셀 색상을 기반으로 한 하나 또는 여러 데이터 시리즈로 차트에 색상 지정


VBA 코드가있는 셀 색상을 기반으로 하나 또는 여러 데이터 시리즈로 차트 색상 지정

셀 색상을 기반으로 한 데이터 시리즈로 차트 색상 지정

다음 VBA 코드를 사용하면 원래 셀 값 색상을 기반으로 하나의 데이터 시리즈가 포함 된 차트의 색상을 빠르게 변경할 수 있습니다. 다음과 같이하십시오.

1. 먼저 다음 스크린 샷과 같이 막대 또는 세로 막대 차트를 만듭니다 (데이터를 선택하고 끼워 넣다 > 열 또는 막대 차트 삽입):

2. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

3. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여 넣습니다.

VBA 코드 : 셀 색상을 기반으로 한 데이터 계열이있는 색상 차트 막대 :

Sub ColorChartColumnsbyCellColor()
'Updateby Extendoffice
    Dim xChart As Chart
    Dim I As Long, xRows As Long
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
    If xChart Is Nothing Then Exit Sub
    With xChart.SeriesCollection(1)
        Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1))
        xRows = xRg.Rows.Count
        Set xRg = xRg(1)
        For I = 1 To xRows
            .Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex)
        Next
    End With
End Sub

주의 사항: 위 코드에서 차트 1 사용하려는 차트 이름입니다. 자신의 이름으로 변경하십시오.

4. 위의 코드를 붙여 넣은 후 F5 이 코드를 실행하려면 키를 누르고 차트 막대의 색상이 원래 셀 색상을 기반으로 변경되었습니다. 스크린 샷을 참조하십시오.


셀 색상을 기반으로 여러 데이터 시리즈로 차트 색상 지정

여러 데이터 시리즈가있는 차트의 경우 다음 VBA 코드를 적용하십시오.

1. 다음 스크린 샷과 같이 여러 데이터 시리즈가 포함 된 막대 또는 세로 막 대형 차트를 만드십시오.

2. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

3. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여 넣습니다.

VBA 코드 : 셀 색상을 기반으로하는 여러 데이터 시리즈가있는 컬러 차트 막대 :

Sub CellColorsToChart()
'Updateby Extendoffice
    Dim xChart As Chart
    Dim I As Long, J As Long
    Dim xRowsOrCols As Long, xSCount As Long
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart
    If xChart Is Nothing Then Exit Sub
    xSCount = xChart.SeriesCollection.Count
    For I = 1 To xSCount
        J = 1
        With xChart.SeriesCollection(I)
            Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
            If xSCount > 4 Then
                xRowsOrCols = xRg.Columns.Count
            Else
                xRowsOrCols = xRg.Rows.Count
            End If
            For Each xCell In xRg
                .Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
                .Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
                J = J + 1
            Next
        End With
    Next
End Sub

4. 그런 다음 F5 이 코드를 실행하려면 차트 막대가 한 번에 원래 셀 색상으로 채워집니다. 스크린 샷을 참조하십시오.

배송 시 요청 사항:

1. 위 코드에서 차트 1 사용하려는 차트 이름입니다. 자신의 이름으로 변경하십시오.

2.이 코드는 라인 차트에도 적용 할 수 있습니다.


놀라운 기능으로 셀 색상을 기반으로 한 하나 또는 여러 데이터 시리즈로 차트에 색상 지정

위의 코드를 사용하면 차트의 색상이 항상 셀 색상과 일치하지는 않으므로이 문제를 해결하기 위해 여기서 유용한 도구를 소개합니다. 셀 색상에 따라 차트 색상 변경 of Excel 용 Kutools,이 편리한 기능을 사용하면 셀 색상을 기준으로 빠르고 쉽게 차트에 색상을 지정할 수 있습니다.

참고 : 이것을 적용하려면 셀 색상에 따라 차트 색상 변경, 먼저 Excel 용 Kutools을 클릭 한 다음 기능을 빠르고 쉽게 적용하십시오.

설치 후 Excel 용 Kutools, 다음과 같이하십시오.

1. 먼저 사용할 차트를 삽입하고 차트를 선택한 다음 쿠툴 > 차트 > 차트 도구 > 셀 색상에 따라 차트 색상 변경, 스크린 샷 참조 :

2. 그러면 프롬프트 상자가 나타납니다. OK 버튼을 클릭합니다.

3. 이제 선택한 차트는 아래 스크린 샷과 같이 셀 색상을 기반으로 색상이 지정되었습니다.

셀 색상을 기반으로 한 데이터 시리즈로 차트 색상 지정

셀 색상을 기반으로 여러 데이터 시리즈로 차트 색상 지정

Excel 용 Kutools를 지금 다운로드하고 무료로 평가하십시오!


더 많은 관련 차트 기사 :

  • Excel에서 다른 막대 차트를 오버레이하는 막대 차트 만들기
  • 두 개의 데이터 시리즈가있는 클러스터형 막대 또는 세로 막 대형 차트를 만들면 두 개의 데이터 시리즈 막대가 나란히 표시됩니다. 그러나 때로는 두 데이터 계열을 더 명확하게 비교하기 위해 오버레이 또는 중첩 막대 차트를 사용해야합니다. 이 기사에서는 Excel에서 겹쳐진 막대 차트를 만드는 방법에 대해 설명합니다.
  • Excel에서 다른 차트 형식으로 복사
  • 워크 시트에 여러 가지 유형의 차트가 있다고 가정하고 필요에 따라 하나의 차트에 서식을 지정했으며 이제이 차트 서식을 다른 차트에 적용하려고합니다. 물론 다른 사람을 하나씩 수동으로 서식을 지정할 수 있지만 이렇게하면 많은 시간이 낭비됩니다. Excel에서 한 차트 형식을 다른 차트 형식으로 복사하는 빠르고 편리한 방법이 있습니까?
  • 차트에서 최대 및 최소 데이터 포인트 강조
  • 다음 스크린 샷과 같이 서로 다른 색상으로 가장 높거나 가장 작은 데이터 포인트를 강조 표시하려는 세로 막 대형 차트가있는 경우. 가장 높은 값과 가장 작은 값을 식별 한 다음 차트에서 데이터 요소를 빠르게 강조 표시하려면 어떻게해야합니까?
  • Excel에서 단계 차트 만들기
  • 단계 차트는 불규칙한 간격으로 발생한 변경 사항을 표시하는 데 사용되며 선형 차트의 확장 버전입니다. 그러나 Excel에서 직접 만드는 방법은 없습니다. 이 기사에서는 Excel 워크 시트에서 단계별 차트를 만드는 방법에 대해 설명합니다.
  • Excel에서 진행률 막대 차트 만들기
  • Excel에서 진행률 막대 차트는 다음 스크린 샷과 같이 대상에 대한 진행 상황을 모니터링하는 데 도움이 될 수 있습니다. 그러나 Excel 워크 시트에서 진행률 막대 차트를 어떻게 만들 수 있습니까?

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
For more than 1 Chart:



Sub CellColorsToChart()'Updateby Extendoffice
Dim xChart As Chart
Dim I As Long, J As Long, Y As Long
Dim xRowsOrCols As Long, xSCount As Long Dim xRg As Range, xCell As Range
On Error Resume Next

For Y = 1 To 100Set xChart = ActiveSheet.ChartObjects("Chart "&Y).Chart If xChart Is Nothing Then Exit Sub
xSCount = xChart.SeriesCollection.Count
For I = 1 To xSCount
J = 1
With xChart.SeriesCollection(I)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
If xSCount > 4 Then
xRowsOrCols = xRg.Columns.Count
Else
xRowsOrCols = xRg.Rows.Count
End If
For Each xCell In xRg
.Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
.Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex)
J = J + 1
Next
End WithNext
Next
End Sub

This comment was minimized by the moderator on the site
If i have more charts in my sheet? do you have another code?
This comment was minimized by the moderator on the site
It is ok. But... why simply not going to "Format Legend Entry" option in every data series in the chart, and go "Fill" and make it the color you want. I mean... all is ok, but a VBA code for this simple task is kinda overkill. But thanks. Appreciate you share it.
This comment was minimized by the moderator on the site
i cant make it work :( is this supposed to work on a stacked bar chart? Thanks
This comment was minimized by the moderator on the site
This was an awesome start, but the colors of the chart and the cells don't always match. Any idea why?
This comment was minimized by the moderator on the site
Thank you for the codes! How would you add a conditional format when the format is already established?
This comment was minimized by the moderator on the site
Thank you for these codes! This was exactly what I've been looking for with one detail not quite fitting. When I ran the code, the bar graphs colored in correctly but not legend which stayed unchanged. Is there a variation to the code that would include the legend? Or is there a way to match the Legend to the changes in the chart without a code?
This comment was minimized by the moderator on the site
If i have more charts in my sheet? do you have another code?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations