Muuta kaavion tietoja valitun solun mukaan

Anonim

Jos haluat luoda koontinäytön, jossa on kaavio, joka muuttaa sen tietoja valittujen vaihtoehtojen mukaisesti, voit käyttää VBA: n tapahtumia. Kyllä, se voidaan tehdä. Emme tarvitse pudotusvalikkoa, leikkaajaa tai yhdistelmälaatikkoa. Teemme soluista napsautettavia ja muutamme tietoja luodaksemme kaavion valitusta solusta.

Luo dynaamisia kaavioita Excelissä noudattamalla alla olevia vaiheita, jotka muuttuvat soluvalinnan mukaan.

Vaihe 1: Valmista taulukon tiedot kaavion lähteeksi.

Tässä on joitain näytetietoja eri alueilta taulukossa. Nimesin sen lähdetiedoksi.

Vaihe 2: Hae yhden alueen tiedot kerrallaan eri arkille.

  • Aseta nyt uusi arkki. Nimeä se asianmukaisesti. Nimesin sen "hallintapaneeliksi".
  • Kopioi kaikki kuukaudet yhteen sarakkeeseen. Kirjoita yhden alueen nimi kuukauden viereen.
  • Nyt haluamme vetää alueen tiedot solusta D1. Haluamme tietojen muuttuvan alueen muuttuessa D1: ssä. Tätä varten voimme käyttää kaksisuuntaista hakua.

Koska lähdetietoni ovat lähdetietolomakkeen A2: D8 -muodossa. Käytän alla olevaa kaavaa.

=VLOOKUP(C2, 'Lähdetiedot'! $ A $ 2: $ D $ 8,OTTELU($ D $ 1, 'Lähdetiedot'! $ A $ 1: $ D $ 1,0))

Tässä käytämme dynaamista sarakeindeksointia VLOOKUPille. Voit lukea siitä täältä.

  • Lisää kaavio käyttämällä näitä tietoja koontinäytön taulukkoon. Käytän yksinkertaista viivakaaviota. Piilota kaavion lähde, jos et halua näyttää niitä.

Nyt kun muutat alueen nimeä D1: ssä, kaavio muuttuu vastaavasti. Seuraava vaihe on muuttaa alueen nimi D1: ssä, kun valitset vaihtoehdon määritetystä solusta.

Vaihe 3: Muuta aluetta, kun valitset alueen nimen määritetyllä alueella.

  • Kirjoita kaikki alueen nimet alueelle, minä kirjoitan ne alueelle A2: A4.

  • Napsauta hiiren kakkospainikkeella koontinäytön taulukon nimeä ja napsauta "Näytä koodi" -vaihtoehtoa päästäksesi suoraan VBE: n laskentataulukkomoduuliin, jotta voimme käyttää laskentataulukkotapahtumaa.
  • Kirjoita nyt alla oleva koodi VB Editorissa.
    Yksityinen alityöarkki_SelectionChange (ByVal -kohde alueena), jos se ei leikkaa (kohde, alue ("A2: A4")) ei ole mitään väliä ("A2: A4"). Interior.ColorIndex = xlColorIndexNone Dim -alue As Variant region = Target.value Virhe Siirry virheeseen: Valitse tapausalue Tapaus on = "Keski" -alue ("D1"). Arvo = alue Tapaus on = "Itä" -alue ("D1"). Arvo = alue Tapaus on = "Länsi" -alue ("D1" ") .value = region Case Else MsgBox" Invalid Option "End Valitse Target.Interior.ColorIndex = 8 End Jos virhe: End Sub 

Ja se on tehty. Nyt kun valitset solun alueelta A2: A4, sen arvo määritetään D1: lle ja kaavion tiedot muuttuvat vastaavasti.

Olen selittänyt kuinka tämä koodi toimii alla. Voit ymmärtää sen ja tehdä muutoksia tarpeidesi mukaan. Olen antanut linkkejä ohjeaiheisiin, joita olen käyttänyt tässä esimerkissä. Joten tarkista ne.

Kuinka koodi toimii?

Tässä olen käyttänyt Excelin tapahtumaa. Käynnistin tapahtumat laskentataulukkotapahtumalla "SelectionChange".

Jos ei leikkaa (kohde, alue ("A2: A4")) ei ole mitään

Tämä rivi asettaa tarkennuksen alueelle A2: A4, joten SelectionChange -tapahtuma käynnistyy vain, kun valinta on alueella A2: A4. If- ja End -välinen koodi suoritetaan vain, jos valinta on alueella A2: A4. Voit nyt asettaa sen vaatimuksesi mukaan tehdä kaavastasi dynaamisen.

Alue ("A2: A4"). Interior.ColorIndex = xlColorIndexNone

Tämä viiva asettaa alueen A2: A4 värin tyhjäksi.

region = Target.value On Error GoTo err: 

Yllä olevilla kahdella rivillä saamme muuttujan alueella valittujen solujen arvon ja jätetään huomiotta kaikki mahdolliset virheet. Älä käytä riviä "On Error GoTo err:", ennen kuin olet varma, että haluat jättää huomiotta mahdolliset virheet. Käytin sitä välttääksesi virheen, kun valitsin useita soluja.

Valitse tapausalue Tapauksen alue = "Keski" -alue ("D1"). Arvo = alue Tapaus on = "Itä" -alue ("D1"). Arvo = alue Tapaus on = "Länsi" -alue ("D1"). Arvo = alue Asia Muu MsgBox "Virheellinen vaihtoehto" Lopeta Valitse 

Yllä olevilla riveillä käytämme excelin Select Case Statement -asetusta alueen D1 arvon asettamiseen.

Target.Interior.ColorIndex = 8 End Jos virhe: End Sub

Ennen End If -lausetta muutamme valitun vaihtoehdon värin niin, että se korostuu. Sitten Jos lause päättyy ja virhe: tunniste alkaa. On Error -lauseke siirtyy tähän tunnisteeseen, jos select -lauseessa ilmenee virhe.

Lataa alla oleva työtiedosto.

Upotetut kaaviotapahtumat VBA: n avulla Microsoft Excelissä| Upotetut kaaviotapahtumat voivat tehdä kaaviosta vuorovaikutteisemman, dynaamisemman ja hyödyllisemmän kuin normaalit kaaviot. Voit ottaa tapahtumat käyttöön kaavioissa…

Tapahtumat Excel VBA: ssa |Excelissä on seitsemän tyyppisiä tapahtumia. Jokainen tapahtuma koskee eri ulottuvuuksia. Sovellustapahtuma käsittelee työkirjatasolla. Työkirja arkitasolla. Laskentataulukon tapahtuma alueen tasolla.

Laskentataulukon tapahtumat Excel VBA: ssa| Laskentataulukkotapahtuma on todella hyödyllinen, kun haluat makrojesi suoritettavan, kun taulukossa tapahtuu tietty tapahtuma.

Työkirjan tapahtumat VBA: n avulla Microsoft Excelissä | Työkirjan tapahtumat koskevat koko työkirjaa. Koska kaikki taulukot ovat osa työkirjaa, nämä tapahtumat toimivat myös niissä.

Estä automacron/eventmacron suorittaminen käyttämällä VBA: ta Microsoft Excelissä| Voit estää auto_open -makron käytön vaihtonäppäimellä.

Kaavioobjektitapahtumat VBA: n avulla Microsoft Excelissä| Kaaviot ovat monimutkaisia ​​objekteja, ja niihin on liitetty useita komponentteja. Kaaviotapahtumien tekemiseen käytämme Luokka -moduulia.

Suosittuja artikkeleita:

50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä nopeuttavat työtäsi Excelissä.

VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.

COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.

SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.