Променете данните от диаграмата според избраната клетка

Съдържание

Ако искате да направите табло с диаграма, която променя данните си според избраните опции, можете да използвате събитията във VBA. Да, може да се направи. Няма да имаме нужда от падащо меню, отрязване или комбинирано поле. Ще направим клетките кликващи и ще променим данните, за да създадем диаграма от избраната клетка.

Следвайте стъпките по -долу, за да направите динамични диаграми в Excel, които се променят според избора на клетка.

Стъпка 1: Подгответе данните в лист като източник за диаграмата.

Тук имам някои примерни данни от различни региони в един лист. Нарекох го източник на данни.

Стъпка 2: Вземете данните от един регион наведнъж на различен лист.

  • Сега поставете нов лист. Назовете го по подходящ начин. Нарекох го като „Табло за управление“.
  • Копирайте всички месеци в една колона. Напишете името на един регион в съседство с месеца.
  • Сега искаме да извлечем данни за региона в клетка D1. Искаме данните да се променят с промяната на региона в D1. За това можем да използваме двупосочното търсене.

Тъй като изходните ми данни са в A2: D8 на листа с изходни данни. Използвам формулата по -долу.

=VLOOKUP(C2, „Изходни данни“! $ A $ 2: $ D $ 8,СЪВПАДА($ D $ 1, „Изходни данни“! $ A $ 1: $ D $ 1,0))

Тук използваме динамично индексиране на колони за VLOOKUP. Можете да прочетете за това тук.

  • Вмъкнете диаграма с помощта на тези данни в таблото за управление. Използвам проста линейна диаграма. Скрийте източника на диаграмата, ако не искате да ги показвате.

Сега, когато промените името на региона в D1, диаграмата ще се промени съответно. Следващата стъпка е да промените името на региона в D1, докато избирате опция от посочената клетка.

Стъпка 3: Променете региона, докато избирате име на регион в определения диапазон.

  • Напишете всички имена на региони в диапазон, аз ги пиша в диапазон A2: A4.

  • Щракнете с десния бутон върху името на таблото на таблото и кликнете върху опцията „Преглед на кода“, за да влезете директно в модула на работен лист във VBE, за да можем да използваме събитието на работния лист.
  • Сега напишете кода по -долу във VB Editor.
    Частен под работен лист_SelectionChange (ByVal Target As Range) Ако не се пресича (Target, Range ("A2: A4")) е нищо, тогава Range ("A2: A4"). Interior.ColorIndex = xlColorIndexNone Dim region Като Variant region = Target.value On Error GoTo err: Изберете регион на случая Case Is = "Central" Range ("D1"). Value = region Case Is = "East" Range ("D1"). Value = region Case Is = "West" Range ("D1 ") .value = region Случай Друг MsgBox" Невалидна опция "Край Изберете Target.Interior.ColorIndex = 8 Край Ако грешка: Край на Sub 

И е направено. Сега, когато избирате клетка в диапазон A2: A4, нейната стойност ще бъде присвоена на D1 и данните на диаграмата ще се променят съответно.

По -долу обясних как работи този код. Можете да го разберете и да направите промени според вашите изисквания. Предоставих връзки за помощни теми, които използвах тук в този пример. Затова ги проверете.

Как работи кодът?

Тук използвах събитието на Excel. Използвах събитие на работен лист „SelectionChange“, за да задействам събитията.

Ако не се пресича (Цел, Обхват ("A2: A4")) Няма нищо

Този ред поставя фокуса върху диапазона A2: A4, така че събитието SelectionChange се задейства само когато изборът е в диапазон A2: A4. Кодът между If и End ще се изпълнява само ако селекцията е в диапазон A2: A4. Вече можете да го настроите според вашите изисквания, за да направите графиката си динамична.

Диапазон ("A2: A4"). Интериор.ColorIndex = xlColorIndexNone

Тази линия задава цвета на диапазона A2: A4 на нищо.

region = Target.value При грешка GoTo err: 

В горните два реда получаваме стойността на избраните клетки в променливата област и пренебрегваме всяка възникнала грешка. не използвайте реда "On Error GoTo err:", докато не сте сигурни, че искате да игнорирате всяка възникнала грешка. Използвах го, за да избегна грешка, когато избирам няколко клетки.

Изберете регион на случая Case Is = "Централен" диапазон ("D1"). Стойност = регион Case Is = "Източен" диапазон ("D1"). Стойност = регион Case Is = "Западен" диапазон ("D1"). Стойност = регион Дело Друг MsgBox "Невалидна опция" Край Изберете 

В горните редове използваме excels Select Case Statement, за да зададем стойността на диапазон D1.

Target.Interior.ColorIndex = 8 End Ако грешка: End Sub

Преди оператора End If, ние променяме цвета на избраната опция, така че да бъде подчертана. Тогава операторът If завършва и Err: tag започва. Изразът On Error ще премине към този маркер, ако възникне някаква грешка по време на оператора select.

Изтеглете работния файл по -долу.

Събития с вградена диаграма с помощта на VBA в Microsoft Excel| Събитията с вградени диаграми могат да направят вашата диаграма по -интерактивна, динамична и полезна от обикновените диаграми. За да активираме събитията в класациите, ние…

Събитията в Excel VBA |В Excel има седем вида събития. Всяко събитие се занимава в различен обхват. Събитието за приложение се занимава на ниво работна книга. Работна тетрадка на ниво листове. Събитие на работен лист на ниво Range.

Събития на работния лист в Excel VBA| Събитието на работния лист е наистина полезно, когато искате вашите макроси да се изпълняват, когато на листа се появи определено събитие.

Събития от работна книга, използващи VBA в Microsoft Excel | Събитията от работната книга работят върху цялата работна книга. Тъй като всички листове са част от работната книга, тези събития работят и върху тях.

Предотвратяване на автоматични/eventmacro изпълнения с помощта на VBA в Microsoft Excel| За да предотвратите изпълнението на макроса auto_open, използвайте клавиша shift.

Диаграми на обектни събития с помощта на VBA в Microsoft Excel| Диаграмите са сложни обекти и има няколко компонента, които сте прикрепили към тях. За да направим Chart Events използваме модула Class.

Популярни статии:

50 преки пътища в Excel за повишаване на вашата производителност | Бъдете по -бързи в задачата си. Тези 50 преки пътища ще направят работата ви още по -бърза в Excel.

Функцията VLOOKUP в Excel | Това е една от най -използваните и популярни функции на excel, която се използва за търсене на стойност от различни диапазони и листове.

COUNTIF в Excel 2016 | Пребройте стойностите с условия, използвайки тази невероятна функция. Не е необходимо да филтрирате данните си, за да преброите конкретна стойност. Функцията Countif е от съществено значение за подготовката на вашето табло.

Как да използвате функцията SUMIF в Excel | Това е друга основна функция на таблото. Това ви помага да обобщите стойностите при конкретни условия.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave