Muutke diagrammi andmeid valitud lahtri kohta

Lang L: none (table-of-contents)

Kui soovite luua armatuurlaua diagrammiga, mis muudab selle andmeid vastavalt valitud suvanditele, saate kasutada VBA sündmusi. Jah, seda saab teha. Me ei vaja rippmenüüd, viilutajat ega liitkasti. Teeme lahtrid klõpsatavaks ja muudame andmeid, et luua valitud lahtrist diagramm.

Järgige allolevaid samme, et teha Excelis dünaamilisi diagramme, mis muutuvad vastavalt lahtrivalikule.

Samm: valmistage andmed lehel diagrammi allikana ette.

Siin on mul lehel mõned näidisandmed erinevatest piirkondadest. Panin sellele nimeks lähteandmed.

2. toiming: hankige ühe piirkonna andmed korraga erinevalt lehelt.

  • Nüüd sisestage uus leht. Nimetage see sobivalt. Panin sellele nimeks "Armatuurlaud".
  • Kopeerige kõik kuud ühte veergu. Kirjutage kuu kõrvale ühe piirkonna nimi.
  • Nüüd tahame tõmmata piirkonna andmed lahtrisse D1. Soovime, et andmed muutuksid, kui piirkond muutub D1 -s. Selleks saame kasutada kahesuunalist otsingut.

Kuna minu lähteandmed on lähteandmete lehel A2: D8. Ma kasutan allolevat valemit.

=VLOOKUP(C2, "Lähteandmed"! $ A $ 2: $ D $ 8,MATCH($ D $ 1, "Allikaandmed"! $ A $ 1: $ D $ 1,0))

Siin kasutame VLOOKUP -i jaoks dünaamilist veergude indekseerimist. Selle kohta saate lugeda siit.

  • Sisestage diagramm, kasutades neid andmeid juhtpaneeli lehele. Ma kasutan lihtsat joonediagrammi. Peida diagrammi allikas, kui te ei soovi neid näidata.

Nüüd, kui muudate piirkonna nime D1 -s, muutub diagramm vastavalt. Järgmine samm on piirkonna nime muutmine D1 -s, kui valite määratud lahtrist suvandi.

3. samm: Muutke piirkonda, kui valite määratud piirkonnas piirkonna nime.

  • Kirjutage kõik piirkonna nimed vahemikku, mina kirjutan need vahemikku A2: A4.

  • Paremklõpsake armatuurlaua lehe nime ja klõpsake suvandit „Kuva kood”, et siseneda otse töölehe moodulisse VBE-s, et saaksime töölehe sündmust kasutada.
  • Nüüd kirjutage VB redaktoris kood alla.
    Privaatne alamleht_SelectionChange (ByVal Target as Range) Kui see ei lõiku (sihtmärk, vahemik ("A2: A4")) pole midagi siis vahemik ("A2: A4"). Interior.ColorIndex = xlColorIndexNone Dim piirkond As Variant region = Target.value Viga GoTo eksimine: valige juhtumipiirkond Case Case = "Kesk" vahemik ("D1"). Value = region Case Is = "Ida" vahemik ("D1"). Value = region Case Is = "West" Range ("D1") ") .value = region Case Else MsgBox" Invalid Option "End Valige Target.Interior.ColorIndex = 8 End Kui viga: End Sub 

Ja seda tehakse. Nüüd, kui valite lahtri vahemikus A2: A4, määratakse selle väärtus D1 -le ja diagrammi andmed muutuvad vastavalt.

Allpool selgitasin, kuidas see kood töötab. Saate sellest aru ja saate vastavalt oma vajadustele muudatusi teha. Olen lisanud linke abiteemadele, mida olen siin selles näites kasutanud. Nii et kontrollige neid.

Kuidas kood töötab?

Siin olen kasutanud Exceli sündmust. Kasutasin sündmuste käivitamiseks töölehe sündmust "SelectionChange".

Kui mitte ristuda (sihtmärk, vahemik ("A2: A4")) pole siis midagi

See rida seab fookuse vahemikule A2: A4, nii et sündmus SelectionChange käivitub ainult siis, kui valik on vahemikus A2: A4. Koodi If ja End vahel käivitatakse ainult siis, kui valik on vahemikus A2: A4. Nüüd saate diagrammi dünaamiliseks muutmiseks seada vastavalt oma nõudele.

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

See joon määrab vahemiku A2: A4 värvi tühjaks.

region = Target.value On Error GoTo viga: 

Ülaltoodud kahes reas saame muutuva piirkonna valitud lahtrite väärtuse ja ignoreerime kõiki ilmnenud vigu. Ärge kasutage rida "On Error GoTo vear:" enne, kui olete kindel, et soovite ignoreerida kõiki ilmnenud vigu. Kasutasin seda mitme lahtri valimisel vea vältimiseks.

Valige juhtumi piirkond Juhtum on = "Kesk" vahemik ("D1"). Väärtus = piirkond Juhtum on = "Ida" vahemik ("D1"). Väärtus = piirkond Juhtum on = "lääne" vahemik ("D1"). Väärtus = piirkond Juhtum Muu MsgBox "Kehtetu valik" Lõpp Vali 

Ülaltoodud ridades kasutame vahemiku D1 väärtuse määramiseks Exceli valiku juhtumi avaldust.

Target.Interior.ColorIndex = 8 End Kui viga: End Sub

Enne lauset End If muudame valitud suvandi värvi nii, et see tõstetakse esile. Siis kui lause lõpeb ja eksib: silt algab. Lause On Error hüppab sellele märgendile, kui select -lause ajal ilmneb tõrge.

Laadige alla tööfail.

Manustatud diagrammi sündmused, kasutades Microsoft Excelis VBA -d| Manustatud diagrammide sündmused võivad muuta teie diagrammi interaktiivsemaks, dünaamilisemaks ja kasulikumaks kui tavalised diagrammid. Sündmuste diagrammidel lubamiseks…

Sündmused Excelis VBA |Excelis on seitset tüüpi sündmusi. Iga sündmus käsitleb erinevat ulatust. Rakendussündmus käsitleb töövihiku taset. Töövihik lehtede tasemel. Töölehe sündmus vahemiku tasemel.

Töölehe sündmused Excel VBA -s| Töölehe sündmus on tõesti kasulik, kui soovite oma makrosid käivitada, kui lehel toimub teatud sündmus.

Töövihikuüritused, kasutades Microsoft Excelis VBA -d | Töövihikuüritused töötavad kogu töövihiku kallal. Kuna kõik lehed on osa töövihikust, töötavad need sündmused ka nende kallal.

Vältige automacro/eventmacro käivitamist Microsoft Excelis VBA abil| Auto_open makro käivitamise vältimiseks kasutage tõstuklahvi.

Diagrammige objekti sündmused Microsoft Excelis VBA abil| Diagrammid on keerulised objektid ja neile on lisatud mitu komponenti. Diagrammi sündmuste tegemiseks kasutame klassi moodulit.

Populaarsed artiklid:

50 Exceli otseteed tootlikkuse suurendamiseks | Saa oma ülesandega kiiremini hakkama. Need 50 otseteed muudavad teie töö Excelis veelgi kiiremaks.

Funktsioon VLOOKUP Excelis | See on üks enim kasutatud ja populaarsemaid Exceli funktsioone, mida kasutatakse erinevate vahemike ja lehtede väärtuse otsimiseks.

COUNTIF Excelis 2016 | Loendage väärtused tingimustega, kasutades seda hämmastavat funktsiooni. Te ei pea konkreetse väärtuse loendamiseks oma andmeid filtreerima. Countif funktsioon on armatuurlaua ettevalmistamisel hädavajalik.

Funktsiooni SUMIF kasutamine Excelis | See on veel üks armatuurlaua oluline funktsioon. See aitab teil teatud tingimustel väärtusi kokku võtta.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave