Wenn Sie ein Dashboard mit einem Diagramm erstellen möchten, dessen Daten gemäß den ausgewählten Optionen geändert werden, können Sie die Ereignisse in VBA verwenden. Ja, das kann man machen. Wir brauchen kein Dropdown, Slicer oder Kombinationsfeld. Wir werden Zellen anklickbar machen und Daten ändern, um aus der ausgewählten Zelle ein Diagramm zu erstellen.

image

Befolgen Sie die folgenden Schritte, um dynamische Diagramme in Excel zu erstellen, die sich gemäß der Zellenauswahl ändern.

Schritt 1: Bereiten Sie die Daten in einem Blatt als Quelle für das Diagramm vor.

Hier habe ich einige Beispieldaten aus verschiedenen Regionen in einem Blatt. Ich habe es Quelldaten genannt.

image

Schritt 2: Holen Sie sich die Daten einer Region gleichzeitig auf ein anderes Blatt.

  • Legen Sie nun ein neues Blatt ein. Nennen Sie es entsprechend. Ich habe es als „Dashboard“ bezeichnet.

  • Kopieren Sie alle Monate in eine Spalte. Schreiben Sie den Namen einer Region neben den Monat.

image

  • Jetzt wollen wir Daten der Region in Zelle D1 abrufen. Wir möchten, dass sich die Daten ändern, wenn sich die Region in D1 ändert. Dafür können wir den link: / lookup-formulas-vlookup-with-dynamic-col-index [Zwei-Wege-Lookup] verwenden.

Da meine Quelldaten in A2: D8 auf Quelldatenblatt sind. Ich benutze die folgende Formel.

=VLOOKUP(C2,’Source

Data‘!$A$2:$D$8,MATCH($D$1,’Source

Data‘!$A$1:$D$1,0))

Hier verwenden wir die dynamische Spaltenindizierung für VLOOKUP. Sie können darüber lesen link: / lookup-formulas-vlookup-with-dynamic-col-index [hier].

  • Fügen Sie ein Diagramm mit diesen Daten in das Dashboard-Blatt ein. Ich benutze ein einfaches Liniendiagramm. Blenden Sie die Quelle des Diagramms aus, wenn Sie sie nicht anzeigen möchten.

image

Wenn Sie nun den Regionsnamen in D1 ändern, ändert sich das Diagramm entsprechend. Der nächste Schritt besteht darin, den Regionsnamen in D1 zu ändern, während Sie eine Option aus der angegebenen Zelle auswählen.

Schritt 3: Ändern Sie die Region, während Sie einen Regionsnamen im angegebenen Bereich auswählen. * Schreibe alle Namen der Region in einen Bereich, ich schreibe sie in den Bereich A2: A4.

image

  • Klicken Sie mit der rechten Maustaste auf den Namen des Dashboard-Blattes und klicken Sie auf „Code anzeigen“

Option, direkt in das Arbeitsblattmodul in VBE einzutreten, damit wir den Link verwenden können: / events-in-vba-the-worksheet-events-in-excel-vba [Arbeitsblattereignis] `.

image

  • Schreiben Sie nun den folgenden Code in den VB-Editor.

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

On Error GoTo err:

Select Case 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 Select

Target.Interior.ColorIndex = 8

End If

err:

End Sub

Und es ist geschafft. Wenn Sie nun eine Zelle im Bereich A2: A4 auswählen, wird ihr Wert D1 zugewiesen und die Daten des Diagramms ändern sich entsprechend.

image

Ich habe unten erklärt, wie dieser Code funktioniert. Sie können es verstehen und Änderungen gemäß Ihren Anforderungen vornehmen. Ich habe Links zu Hilfethemen bereitgestellt, die ich hier in diesem Beispiel verwendet habe. Also schau sie dir an.

Wie funktioniert der Code?

Hier habe ich den Link verwendet: / events-in-vba-the-events-in-excel-vba [Ereignis von Excel] . Ich habe einen Arbeitsblatt-Ereignis „SelectionChange“ verwendet, um die Ereignisse auszulösen.

If Not Intersect(Target, Range("A2:A4")) Is Nothing Then

Diese Zeile setzt den Fokus auf den Bereich A2: A4, sodass das SelectionChange-Ereignis nur ausgelöst wird, wenn sich die Auswahl im Bereich A2: A4 befindet. Der Code zwischen If und End wird nur ausgeführt, wenn sich die Auswahl im Bereich A2: A4 befindet. Sie können es jetzt gemäß Ihren Anforderungen einstellen, um Ihr Diagramm dynamisch zu gestalten.

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

Diese Linie setzt die Farbe des Bereichs A2: A4 auf nichts.

region = Target.value

On Error GoTo err:

In den beiden obigen Zeilen erhalten wir den Wert der ausgewählten Zellen im variablen Bereich und ignorieren alle auftretenden Fehler. Verwenden Sie die Zeile „On Error GoTo err:“ erst, wenn Sie sicher sind, dass Sie auftretende Fehler ignorieren möchten. Ich habe es verwendet, um einen Fehler zu vermeiden, wenn ich mehrere Zellen auswähle.

Select Case 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 Select

In den obigen Zeilen verwenden wir Excel-Fallanweisung auswählen, um den Wert festzulegen des Bereichs D1.

Target.Interior.ColorIndex = 8

End If

err:

End Sub

Vor der End If-Anweisung ändern wir die Farbe der ausgewählten Option, damit sie hervorgehoben wird. Dann endet die If-Anweisung und err: tag beginnt.

Die On Error-Anweisung springt zu diesem Tag, wenn während der select-Anweisung ein Fehler auftritt.

Laden Sie die Arbeitsdatei unten herunter.

image 48

Verwandte Artikel:

link: / events-in-vba-chart-objektereignisse-using-vba-in-microsoft-excel [Eingebettete Diagrammereignisse mit VBA in Microsoft Excel] * | Die Ereignisse für eingebettete Diagramme können Ihr Diagramm interaktiver, dynamischer und nützlicher machen als normale Diagramme. Um die Ereignisse in Diagrammen zu aktivieren, haben wir …​

link: / events-in-vba-die-ereignisse-in-excel-vba [Die Ereignisse in Excel VBA] | * Es gibt sieben Arten von Ereignissen in Excel. Jede Veranstaltung befasst sich mit unterschiedlichem Umfang. Das Anwendungsereignis wird auf Arbeitsmappenebene behandelt. Arbeitsmappe auf Blattebene. Arbeitsblatt Ereignis auf Bereichsebene.

link: / events-in-vba-the-worksheet-events-in-excel-vba [Die Arbeitsblattereignisse in Excel VBA] * | Das Arbeitsblattereignis ist sehr nützlich, wenn Ihre Makros ausgeführt werden sollen, wenn ein bestimmtes Ereignis auftritt Das Blatt.

link: / events-in-vba-workbook-events-using-vba-in-microsoft-excel [Arbeitsmappenereignisse mit VBA in Microsoft Excel] | Die Arbeitsmappenereignisse wirken sich auf die gesamte Arbeitsmappe aus. Da alle Blätter Teil der Arbeitsmappe sind, funktionieren diese Ereignisse auch mit ihnen.

link: / events-in-vba-verhindert-dass-ein-automacroeventmacro-mit-vba-in-microsoft-excel ausgeführt wird [Verhindern, dass ein automacro / eventmacro mit VBA in Microsoft Excel ausgeführt wird] * | Verwenden Sie die Umschalttaste, um die Ausführung des Makros auto_open zu verhindern.

link: / events-in-vba-chart-object-events-using-vba-in-microsoft-excel [Chart-Objektereignisse mit VBA in Microsoft Excel] * | Die Diagramme sind komplexe Objekte und Sie haben mehrere Komponenten an sie angehängt. Um die Diagrammereignisse zu erstellen, verwenden wir das Klassenmodul.

Beliebte Artikel:

link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität] | Werden Sie schneller bei Ihrer Aufgabe. Diese 50 Verknüpfungen machen Ihre Arbeit in Excel noch schneller.

link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel] | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden.

link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] | Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen.

Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.

link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel] | Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen.