Pakeiskite diagramos duomenis pagal pasirinktą langelį

Turinys

Jei norite sukurti informacijos suvestinę su diagrama, kurios duomenys keičiami pagal pasirinktas parinktis, galite naudoti VBA įvykius. Taip, tai galima padaryti. Mums nereikės jokių išskleidžiamųjų, pjaustytuvų ar kombinuotų laukelių. Padarysime langelius paspaudžiamus ir pakeisime duomenis, kad sukurtume diagramą iš pasirinkto langelio.

Atlikite toliau nurodytus veiksmus, kad sukurtumėte dinamines „Excel“ diagramas, kurios keistųsi pagal langelio pasirinkimą.

1 žingsnis: Paruoškite duomenis lape kaip diagramos šaltinį.

Čia aš turiu pavyzdžių duomenų iš skirtingų regionų lape. Pavadinau tai šaltinio duomenimis.

2 veiksmas: vienu metu gaukite vieno regiono duomenis kitame lape.

  • Dabar įdėkite naują lapą. Pavadinkite jį tinkamai. Aš jį pavadinau „informacijos suvestine“.
  • Nukopijuokite visus mėnesius į vieną stulpelį. Šalia mėnesio parašykite vieno regiono pavadinimą.
  • Dabar norime ištraukti regiono duomenis ląstelėje D1. Norime, kad duomenys keistųsi keičiantis regionui D1. Tam galime naudoti dviejų krypčių paiešką.

Kadangi mano šaltinio duomenys yra A2: D8 šaltinio duomenų lape. Aš naudoju žemiau pateiktą formulę.

=VLOOKUP(C2, „Šaltinio duomenys“! $ A $ 2: $ D $ 8,Rungtynės($ D $ 1, „Šaltinio duomenys“! $ A $ 1: $ D $ 1,0))

Čia VLOOKUP naudojame dinaminį stulpelių indeksavimą. Apie tai galite paskaityti čia.

  • Įdėkite diagramą naudodami šiuos duomenis prietaisų skydelio lape. Aš naudoju paprastą linijinę diagramą. Paslėpkite diagramos šaltinį, jei nenorite jų rodyti.

Dabar, kai pakeisite regiono pavadinimą D1, diagrama atitinkamai pasikeis. Kitas žingsnis - pakeisti regiono pavadinimą D1, pasirinkus parinktį iš nurodyto langelio.

3 žingsnis: Pakeiskite regioną pasirinkdami regiono pavadinimą nurodytame diapazone.

  • Įrašykite visus regiono pavadinimus į diapazoną, aš - į A2: A4 diapazoną.

  • Dešiniuoju pelės mygtuku spustelėkite prietaisų skydelio lapo pavadinimą ir spustelėkite parinktį „Peržiūrėti kodą“, kad tiesiogiai įeitumėte į darbalapio modulį VBE, kad galėtume naudoti darbalapio įvykį.
  • Dabar parašykite žemiau esantį kodą VB redaktoriuje.
    Privatus antrinis darbalapis_SelectionChange („ByVal Target As Range“), jei nesikerta (Tikslas, diapazonas („A2: A4“)) yra niekas, tada diapazonas („A2: A4“). Interior.ColorIndex = xlColorIndexNone Dim regionas kaip Variant region = Target.value Dėl klaidos Eikite į klaidą: pasirinkite atvejo regiono atvejis yra "centrinis" diapazonas ("D1"). Vertė = regionas atvejis yra = "rytų" diapazonas ("D1"). ") .value = region Case Else MsgBox" Netinkama parinktis "Pabaiga Pasirinkite Target.Interior.ColorIndex = 8 Pabaiga Jei klaida: Pabaiga 

Ir tai daroma. Dabar, kai pasirinksite langelį diapazone A2: A4, jo vertė bus priskirta D1 ir diagramos duomenys atitinkamai pasikeis.

Žemiau paaiškinau, kaip veikia šis kodas. Jūs galite tai suprasti ir atlikti pakeitimus pagal savo reikalavimus. Pateikiau nuorodas į pagalbos temas, kurias naudoju čia šiame pavyzdyje. Taigi patikrinkite juos.

Kaip veikia kodas?

Čia aš naudoju „Excel“ įvykį. Įvykiams suaktyvinti naudojau darbalapio įvykį „SelectionChange“.

Jei nesikerta (taikinys, diapazonas („A2: A4“)), tada nieko nėra

Ši eilutė nustato fokusavimą į diapazoną A2: A4, kad įvykis „SelectionChange“ suaktyvėtų tik tada, kai pasirinkimas yra diapazone A2: A4. Kodas tarp „If“ ir „End“ bus vykdomas tik tuo atveju, jei pasirinkimas yra diapazone A2: A4. Dabar galite nustatyti, kad jūsų diagrama būtų dinamiška.

Diapazonas („A2: A4“). Interior.ColorIndex = xlColorIndexNone

Ši eilutė nenurodo A2: A4 diapazono spalvos.

region = Target.value On Error GoTo klysti: 

Pirmiau pateiktose dviejose eilutėse mes gauname pasirinktų kintamojo regiono ląstelių vertę ir ignoruojame bet kokias klaidas. nenaudokite eilutės „On Error GoTo err:“, kol nesate tikri, kad norite ignoruoti bet kokią klaidą. Aš naudoju jį, kad išvengčiau klaidos, kai pasirenku kelis langelius.

Pasirinkite atvejo regiono atvejo atvejį = "Centrinis" diapazonas ("D1"). Vertė = regiono atvejis yra = "Rytų" diapazonas ("D1"). regionas Kitas atvejis MsgBox "Netinkama parinktis" Pabaigos pasirinkimas 

Pirmiau pateiktose eilutėse mes naudojame „Excel“ pasirinkimo atvejo pareiškimą, kad nustatytume D1 diapazono vertę.

Target.Interior.ColorIndex = 8 Pabaiga Jei klaida: Pabaiga

Prieš teiginį „End If“, pakeičiame pasirinktos parinkties spalvą, kad ji būtų paryškinta. Tada jei teiginys baigiasi ir klaida: prasideda žyma. „On Error“ sakinys pereis prie šios žymos, jei pasirenkant sakinį įvyks kokia nors klaida.

Atsisiųskite žemiau esantį darbo failą.

Įterptųjų diagramų įvykiai naudojant „Microsoft Excel“ VBA| Įterptųjų diagramų įvykiai gali paversti diagramą interaktyvesne, dinamiškesne ir naudingesne nei įprastos diagramos. Norėdami įjungti įvykius diagramose, mes…

Įvykiai „Excel VBA“ |„Excel“ yra septynių tipų įvykiai. Kiekvienas renginys yra skirtingos apimties. Programos įvykis susijęs su darbaknygės lygiu. Darbo knyga lapų lygiu. Darbo lapo įvykis diapazono lygiu.

Užduoties įvykiai „Excel VBA“| Skaičiuoklės įvykis yra tikrai naudingas, kai norite, kad jūsų makrokomandos būtų paleistos, kai lape įvyksta nurodytas įvykis.

Darbaknygės įvykiai naudojant VBA „Microsoft Excel“ | Darbo knygos įvykiai veikia su visa darbo knyga. Kadangi visi lapai yra darbo knygos dalis, šie įvykiai taip pat tinka jiems.

Neleiskite automato/eventmacro vykdyti naudojant „Microsoft Excel“ VBA| Norėdami užkirsti kelią automatinio atidarymo makrokomandai, naudokite klavišą „Shift“.

Diagramuokite objekto įvykius naudodami VBA programoje „Microsoft Excel“| Diagramos yra sudėtingi objektai, prie kurių pridedate kelis komponentus. Norėdami sudaryti diagramos įvykius, naudojame klasės modulį.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų dar labiau pagreitins jūsų darbą naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečią vertę, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti „SUMIF“ funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave