Spremenite podatke grafikona glede na izbrano celico

Anonim

Če želite narediti nadzorno ploščo z grafikonom, ki spreminja podatke glede na izbrane možnosti, lahko uporabite dogodke v VBA. Da, mogoče je. Ne potrebujemo spustnega menija, rezalnika ali kombiniranega polja. Celice bomo lahko kliknili in spremenili podatke, da bomo iz izbrane celice ustvarili grafikon.

Sledite spodnjim korakom, da naredite dinamične grafikone v Excelu, ki se spremenijo glede na izbiro celice.

1. korak: Pripravite podatke na listu kot vir za grafikon.

Tukaj imam nekaj vzorčnih podatkov iz različnih regij na listu. Poimenoval sem ga izvorni podatki.

2. korak: Podatke ene regije naenkrat prenesite na drug list.

  • Zdaj vstavite nov list. Ustrezno ga poimenujte. Poimenoval sem ga "Nadzorna plošča".
  • Kopirajte vse mesece v en stolpec. Napišite ime ene regije poleg meseca.
  • Zdaj želimo izvleči podatke o regiji v celici D1. Želimo, da se podatki spremenijo, ko se regija spremeni v D1. Za to lahko uporabimo dvosmerno iskanje.

Ker so moji izvorni podatki v A2: D8 na izvornem podatkovnem listu. Uporabljam spodnjo formulo.

=VLOOKUP(C2, "Vir podatkov"! $ A $ 2: $ D $ 8,UJEMA($ D $ 1, "Vir podatkov"! $ A $ 1: $ D $ 1,0))

Tukaj uporabljamo dinamično indeksiranje stolpcev za VLOOKUP. O tem lahko preberete tukaj.

  • S pomočjo teh podatkov vnesite grafikon na list Nadzorna plošča. Uporabljam preprost linijski grafikon. Skrijte vir grafikona, če ga ne želite prikazati.

Zdaj, ko spremenite ime regije v D1, se bo grafikon ustrezno spremenil. Naslednji korak je, da spremenite ime regije v D1, ko izberete možnost iz podane celice.

3. korak: Spremenite regijo, ko izberete ime regije v navedenem obsegu.

  • Vsa imena regij zapišite v obseg, jaz jih zapišem v obseg A2: A4.

  • Z desno tipko miške kliknite ime lista nadzorne plošče in kliknite možnost »Ogled kode«, da vstopite neposredno v modul delovnega lista v VBE, da lahko uporabimo dogodek delovnega lista.
  • Zdaj spodaj napišite kodo v urejevalniku VB.
    Zasebni pod -delovni list_SelectionChange (cilj ByVal kot obseg), če se ne preseka (cilj, obseg ("A2: A4")) ni nič, potem je obseg ("A2: A4"). Notranja površina.ColorIndex = xlColorIndexNone Zatemnjena regija kot varianta = Target.value On Napaka GoTo err: Izberite območje primera Case Is = "Central" Range ("D1"). Value = region Case Is = "East" Range ("D1"). Value = region Case Is = "West" Range ("D1 ") .value = region Primer Drugi MsgBox" Neveljavna možnost "End Izberite Target.Interior.ColorIndex = 8 End Če se moti: End Sub 

In to je storjeno. Zdaj, ko izberete celico v območju A2: A4, bo njena vrednost dodeljena D1 in podatki grafikona se bodo ustrezno spremenili.

Spodaj sem razložil, kako deluje ta koda. Lahko ga razumete in spremenite glede na vaše zahteve. Zagotovil sem povezave do tem, ki sem jih uporabil v tem primeru. Zato jih preverite.

Kako deluje koda?

Tu sem uporabil dogodek Excel. Za sprožitev dogodkov sem uporabil dogodek na delovnem listu "SelectionChange".

Če se ne križa (cilj, doseg ("A2: A4")), potem ni nič

Ta vrstica nastavi fokus na obseg A2: A4, tako da se dogodek SelectionChange sproži le, če je izbira v območju A2: A4. Koda med If in End se bo izvajala le, če je izbira v območju A2: A4. Zdaj ga lahko nastavite glede na vaše zahteve, da bo grafikon dinamičen.

Obseg ("A2: A4"). Notranjost. Barvni indeks = xlBarveni indeks Ni

Ta vrstica nastavi barvo območja A2: A4 na nič.

region = Target.value On Error Pojdi na napako: 

V zgornjih dveh vrsticah dobimo vrednost izbranih celic v območju spremenljivk in prezremo vsako napako, ki se pojavi. ne uporabljajte vrstice "On Error GoTo err:", dokler niste prepričani, da želite prezreti vsako napako, ki se pojavi. Uporabil sem ga, da bi se izognil napaki pri izbiri več celic.

Izberite območje primera Case Is = "Central" Range ("D1"). Value = region Case Is = "East" Range ("D1"). Value = region Case Is = "West" Range ("D1"). Value = regija Primer Drugi MsgBox "Neveljavna možnost" Konec Izberite 

V zgornjih vrsticah uporabljamo excels Select Case Statement za nastavitev vrednosti obsega D1.

Target.Interior.ColorIndex = 8 End Če se moti: End Sub

Pred stavkom End If spremenimo barvo izbrane možnosti, tako da bo označena. Nato se stavek If konča in Err: tag se zažene. Stavek On Error bo skočil na to oznako, če pride do napake med stavkom select.

Spodaj prenesite delovno datoteko.

Dogodki vdelanih grafikonov z uporabo VBA v programu Microsoft Excel| Dogodki z vgrajenimi grafikoni lahko naredijo vaš grafikon bolj interaktiven, dinamičen in uporaben kot običajni grafikoni. Za omogočanje dogodkov na lestvicah smo…

Dogodki v Excelu VBA |V Excelu je sedem vrst dogodkov. Vsak dogodek obravnava drugačen obseg. Dogodek aplikacije obravnava na ravni delovnega zvezka. Delovni zvezek na ravni listov. Dogodek delovnega lista na ravni območja.

Dogodki na delovnem listu v Excelu VBA| Dogodek delovnega lista je zelo uporaben, če želite, da se makri izvajajo, ko se na listu pojavi določen dogodek.

Dogodki v delovnem zvezku z uporabo VBA v programu Microsoft Excel | Dogodki v delovnem zvezku delujejo na celotnem delovnem zvezku. Ker so vsi listi del delovnega zvezka, tudi ti dogodki delujejo na njih.

Preprečite samodejno izvajanje/makro dogodkov z uporabo VBA v programu Microsoft Excel| Če želite preprečiti zagon makra auto_open, uporabite tipko shift.

Grafične dogodke grafikona z uporabo VBA v programu Microsoft Excel| Grafikoni so zapleteni predmeti in nanje ste pritrdili več komponent. Za ustvarjanje dogodkov grafikona uporabljamo modul razreda.

Priljubljeni članki:

50 bližnjic v Excelu za večjo produktivnost | Poskrbite, da bo vaša naloga hitrejša. Teh 50 bližnjic bo vaše delo v Excelu še pospešilo.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določene vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.