Zmień dane wykresu zgodnie z wybraną komórką

Spisie treści

Jeśli chcesz stworzyć pulpit nawigacyjny z wykresem, który zmienia swoje dane zgodnie z wybranymi opcjami, możesz użyć zdarzeń w VBA. Tak, można to zrobić. Nie będziemy potrzebować żadnej listy rozwijanej, fragmentatora ani pola kombi. Sprawimy, że komórki będą klikalne i zmienimy dane, aby utworzyć wykres z wybranej komórki.

Wykonaj poniższe czynności, aby tworzyć dynamiczne wykresy w programie Excel, które zmieniają się zgodnie z wyborem komórek.

Krok 1: Przygotuj dane w Arkuszu jako źródło wykresu.

Tutaj mam kilka przykładowych danych z różnych regionów w arkuszu. Nazwałem to danymi źródłowymi.

Krok 2: Pobierz dane z jednego regionu jednocześnie w innym arkuszu.

  • Teraz włóż nowy arkusz. Nazwij go odpowiednio. Nazwałem go „Dashboard”.
  • Skopiuj wszystkie miesiące w jednej kolumnie. Wpisz nazwę jednego regionu obok miesiąca.
  • Teraz chcemy pobrać dane regionu w komórce D1. Chcemy, aby dane zmieniały się wraz ze zmianą regionu w D1. W tym celu możemy użyć dwukierunkowego wyszukiwania.

Ponieważ moje dane źródłowe znajdują się w A2: D8 w arkuszu danych źródłowych. Używam poniższego wzoru.

=WYSZUKAJ.PIONOWO(C2,'Dane źródłowe'!$A$2:$D$8,MECZ($ D $ 1, „Dane źródłowe”! $ A $ 1: $ D $ 1,0))

Tutaj używamy dynamicznego indeksowania kolumn dla funkcji WYSZUKAJ.PIONOWO. Możesz o tym przeczytać tutaj.

  • Wstaw wykres wykorzystujący te dane do arkusza pulpitu nawigacyjnego. Używam prostego wykresu liniowego. Ukryj źródło wykresu, jeśli nie chcesz ich pokazywać.

Teraz, gdy zmienisz nazwę regionu w D1, wykres zmieni się odpowiednio. Następnym krokiem jest zmiana nazwy regionu w D1 podczas wybierania opcji z określonej komórki.

Krok 3: Zmień region, wybierając nazwę regionu w określonym zakresie.

  • Zapisz wszystkie nazwy regionów w zakresie, ja zapisuję je w zakresie A2:A4.

  • Kliknij prawym przyciskiem myszy nazwę arkusza pulpitu nawigacyjnego i kliknij opcję „Wyświetl kod”, aby przejść bezpośrednio do modułu arkusza roboczego w VBE, abyśmy mogli użyć zdarzenia arkusza roboczego.
  • Teraz napisz poniższy kod w edytorze VB.
    Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A2:A4")) Is Nothing Then Range("A2:A4").Interior.ColorIndex = xlColorIndexNone Dim region As Variant region = Target.value W przypadku błędu GoTo err: Wybierz region Case Is = "Central" Range("D1").value = region Case Is = "East" Range("D1").value = region Case Is = "West" Range("D1 ").value = region Case Else MsgBox "Invalid Option" End Wybierz Target.Interior.ColorIndex = 8 End If err: End Sub 

I gotowe. Teraz za każdym razem, gdy wybierzesz komórkę z zakresu A2:A4, jej wartość zostanie przypisana do D1, a dane wykresu odpowiednio się zmienią.

Wyjaśniłem, jak ten kod działa poniżej. Możesz to zrozumieć i wprowadzić zmiany zgodnie ze swoimi wymaganiami. Podałem linki do tematów pomocy, których użyłem w tym przykładzie. Więc sprawdź je.

Jak działa kod?

Tutaj użyłem Event of Excel. Użyłem zdarzenia arkusza roboczego „SelectionChange”, aby wywołać zdarzenia.

Jeśli nie przecina(cel, zakres("A2:A4")) jest niczym wtedy

Ten wiersz ustawia fokus na zakres A2:A4, dzięki czemu zdarzenie SelectionChange jest uruchamiane tylko wtedy, gdy zaznaczenie znajduje się w zakresie A2:A4. Kod między If i End zostanie uruchomiony tylko wtedy, gdy wybór znajduje się w zakresie A2:A4. Możesz teraz ustawić go zgodnie z wymaganiami, aby wykres był dynamiczny.

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

Ta linia ustawia kolor z zakresu A2:A4 na zero.

region = Target.value W przypadku błędu GoTo err: 

W powyższych dwóch wierszach otrzymujemy wartość wybranych komórek w regionie zmiennej i ignorujemy wszelkie występujące błędy. nie używaj wiersza „On Error GoTo err:”, dopóki nie upewnisz się, że chcesz zignorować każdy występujący błąd. Użyłem go, aby uniknąć błędu, gdy wybieram wiele komórek.

Wybierz region Case Is = "Central" Range("D1").value = region Case Is = "East" Range("D1").value = region Case Is = "West" Range("D1").value = region Case Else MsgBox "Nieprawidłowa opcja" Koniec Wybierz 

W powyższych wierszach używamy Excela Select Case Statement do ustawienia wartości zakresu D1.

Target.Interior.ColorIndex = 8 End If err: End Sub

Przed instrukcją End If zmieniamy kolor wybranej opcji tak, aby została podświetlona. Następnie kończy się instrukcja If i zaczyna się tag err:. Instrukcja On Error przeskoczy do tego znacznika, jeśli podczas instrukcji select wystąpi jakikolwiek błąd.

Pobierz plik roboczy poniżej.

Zdarzenia z wbudowanych wykresów przy użyciu VBA w programie Microsoft Excel| Osadzone zdarzenia wykresów mogą sprawić, że wykres będzie bardziej interaktywny, dynamiczny i użyteczny niż zwykłe wykresy. Aby włączyć wydarzenia na wykresach…

Zdarzenia w Excel VBA |W programie Excel istnieje siedem typów zdarzeń. Każde wydarzenie dotyczy innego zakresu. Zdarzenie aplikacji dotyczy na poziomie skoroszytu. Skoroszyt na poziomie arkuszy. Zdarzenie arkusza roboczego na poziomie zakresu.

Zdarzenia arkusza roboczego w Excel VBA|Zdarzenia arkusza roboczego są naprawdę przydatne, gdy chcesz, aby makra były uruchamiane po wystąpieniu określonego zdarzenia w arkuszu.

Zdarzenia ze skoroszytu przy użyciu VBA w programie Microsoft Excel | Zdarzenia skoroszytu działają na całym skoroszycie. Ponieważ wszystkie arkusze są częścią skoroszytu, te zdarzenia również na nich działają.

Zapobiegaj wykonywaniu automakro/makro zdarzeń za pomocą VBA w programie Microsoft Excel| Aby zapobiec uruchomieniu makra auto_open użyj klawisza Shift.

Zdarzenia obiektów wykresu przy użyciu VBA w programie Microsoft Excel| Wykresy są złożonymi obiektami i dołączasz do nich kilka komponentów. Do tworzenia zdarzeń wykresu używamy modułu Class.

Popularne artykuły:

50 skrótów Excela, które zwiększą Twoją produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.

Funkcja WYSZUKAJ.PIONOWO w programie Excel | Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.

LICZ.JEŻELI w Excelu 2016 | Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby policzyć konkretną wartość. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.

Jak korzystać z funkcji SUMIF w programie Excel? | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave