Note: The other languages of the website are Google-translated. Back to English

Cum să graficul de culori pe baza culorii celulei din Excel?

În mod normal, când creați o diagramă, culoarea barei de coloane este implicită. Dacă trebuie să formatați culoarea umplută pe fiecare bară pe baza culorilor celulei, după cum se arată în următoarea captură de ecran, cum ați putea să o rezolvați în Excel?

Colorează graficul cu una sau mai multe serii de date pe baza culorii celulei cu coduri VBA

Colorează graficul cu una sau mai multe serii de date pe baza culorii celulei cu o caracteristică uimitoare


Colorează graficul cu una sau mai multe serii de date pe baza culorii celulei cu coduri VBA

Colorează graficul cu o singură serie de date pe baza culorii celulei

Cu următorul cod VBA, puteți schimba rapid culoarea diagramei care conține o serie de date bazată pe culoarea valorilor originale ale celulei, procedați astfel:

1. Mai întâi, creați o diagramă cu bare sau coloane după cum se arată în următoarea captură de ecran (Selectați date și faceți clic pe Insera > Introduceți o coloană sau o diagramă cu bare):

2. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

3. Clic Insera > Moduleși lipiți următorul cod în fereastra modulului.

Cod VBA: bare de diagrame de culori cu o serie de date bazată pe culoarea celulei:

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

notițe: În codul de mai sus, Graficul 1 este numele graficului pe care doriți să îl utilizați, vă rugăm să îl schimbați pe al dvs.

4. După lipirea codului de mai sus, vă rugăm să apăsați F5 tasta pentru a rula acest cod, iar culoarea barelor grafice a fost modificată pe baza culorii originale a celulei, a se vedea captura de ecran:


Colorează graficul cu mai multe serii de date pe baza culorii celulei

Dacă diagrama dvs. cu mai multe serii de date, vă rugăm să aplicați următorul cod VBA:

1. Vă rugăm să creați diagrama de bare sau coloane care conține mai multe serii de date, după cum se arată în următoarea captură de ecran:

2. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

3. Clic Insera > Moduleși lipiți următorul cod în fereastra Module.

Cod VBA: bare colorate cu mai multe serii de date bazate pe culoarea celulei:

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. Apoi apăsați F5 tasta pentru a rula acest cod, barele grafice sunt umplute cu culoarea originală a celulelor simultan, vezi captura de ecran:

note:

1. În codul de mai sus, Graficul 1 este numele graficului pe care doriți să îl utilizați, vă rugăm să îl schimbați pe al dvs.

2. Acest cod poate fi aplicat și unei diagrame.


Colorează graficul cu una sau mai multe serii de date pe baza culorii celulei cu o caracteristică uimitoare

Folosind codurile de mai sus, culorile graficului nu vor fi întotdeauna potrivite cu culoarea celulei, pentru a rezolva această problemă, aici, voi introduce un instrument util - Schimbați culoarea graficului în funcție de culoarea celulei of Kutools pentru Excel, cu această caracteristică la îndemână, puteți colora graficul pe baza culorii celulei rapid și ușor.

Notă: Pentru a aplica acest lucru Schimbați culoarea graficului în funcție de culoarea celulei, în primul rând, ar trebui să descărcați fișierul Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.

După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:

1. Mai întâi, vă rugăm să inserați diagrama pe care doriți să o utilizați, apoi selectați diagrama, apoi faceți clic pe Kutools > Grafice > Instrumente pentru diagrame > Schimbați culoarea graficului în funcție de culoarea celulei, vezi captura de ecran:

2. Apoi, apare o casetă de prompt, faceți clic pe OK butonul.

3. Acum, graficul pe care l-ați selectat a fost colorat pe baza culorilor celulei, după cum se arată în capturile de ecran de mai jos:

Colorează graficul cu o singură serie de date pe baza culorii celulei

Colorează graficul cu mai multe serii de date pe baza culorii celulei

Descărcați și proba gratuită Kutools pentru Excel acum!


Mai multe articole grafice relative:

  • Creați o diagramă de bare care suprapune o altă diagramă de bare în Excel
  • Atunci când creăm o bară grupată sau o diagramă de coloane cu două serii de date, cele două bare de serii de date vor fi afișate una lângă alta. Dar, uneori, trebuie să folosim graficul de bare suprapus sau suprapus pentru a compara mai clar cele două serii de date. În acest articol, voi vorbi despre cum să creați o diagramă de bare suprapusă în Excel.
  • Copiați un format de diagramă altora în Excel
  • Presupunând că există mai multe tipuri diferite de diagrame în foaia dvs. de lucru, ați formatat o diagramă în funcție de nevoile dvs. și acum doriți să aplicați această formatare a diagramei la alte diagrame. Desigur, puteți formata pe alții manual unul câte unul, dar acest lucru va pierde mult timp, există modalități rapide sau la îndemână de a copia un format de diagramă altora în Excel?
  • Evidențiați punctele de date maxime și minime într-o diagramă
  • Dacă aveți o diagramă pe coloane pe care doriți să evidențiați cele mai mari sau mai mici puncte de date cu culori diferite pentru a le depăși, după cum se arată în următoarea captură de ecran. Cum ați putea identifica cele mai mari și cele mai mici valori și apoi să evidențiați rapid punctele de date din grafic?
  • Creați o diagramă de pași în Excel
  • O diagramă în trepte este utilizată pentru a arăta modificările intervenite la intervale neregulate, este o versiune extinsă a unei diagrame liniare. Dar nu există o modalitate directă de a-l crea în Excel. În acest articol, voi vorbi despre cum să creați o diagramă pas cu pas în foaia de lucru Excel.
  • Creați diagramă cu bare de progres în Excel
  • În Excel, graficul cu bare de progres vă poate ajuta să monitorizați progresul către o țintă, după cum se arată în următoarea captură de ecran. Dar, cum ați putea crea o diagramă cu bare de progres în foaia de lucru Excel?

Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (8)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dacă am mai multe diagrame în foaia mea? ai alt cod?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc pentru aceste coduri! Acesta a fost exact ceea ce am căutat cu un detaliu care nu se potrivește. Când am rulat codul, graficele cu bare s-au colorat corect, dar nu legenda care a rămas neschimbată. Există o variație a codului care ar include legenda? Sau există o modalitate de a potrivi Legenda cu modificările din diagramă fără un cod?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc pentru coduri! Cum ați adăuga un format condiționat când formatul este deja stabilit?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acesta a fost un început minunat, dar culorile diagramei și ale celulelor nu se potrivesc întotdeauna. Ai idee de ce?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu pot să funcționeze :( ar trebui să funcționeze pe o diagramă cu bare stivuite? Mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Este in regula. Dar... de ce pur și simplu nu mergeți la opțiunea „Format Legend Entry” în fiecare serie de date din diagramă și mergeți la „Umpleți” și faceți-o culoarea dorită. Adică... totul este în regulă, dar un cod VBA pentru această sarcină simplă este cam exagerat. Dar multumesc. Apreciez că îl împărtășești.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dacă am mai multe diagrame în foaia mea? ai alt cod?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Pentru mai mult de 1 diagramă:



Sub CellColorsToChart()'Updateby Extendoffice
Dim xChart ca diagramă
Dim I As Long, J As Long, Y Cât timp
Dim xRowsOrCols As Long, xSCount As Long Dim xRg As Range, xCell As Range
La data de eroare CV următoare

Pentru Y = 1 până la 100Set xChart = ActiveSheet.ChartObjects("Grafic "&Y).Chart Dacă xChart este Nimic, Ieșiți din Sub
xSCount = xChart.SeriesCollection.Count
Pentru I = 1 To xSCount
J = 1
Cu xChart.SeriesCollection(I)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
Dacă xSCount > 4, atunci
xRowsOrCols = xRg.Columns.Count
Altfel
xRowsOrCols = xRg.Rows.Count
Final, dacă
Pentru fiecare xCell în 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
Pagina Următoare →
Încheiați cu Următorul
Pagina Următoare →
End Sub

Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL