Vraag : Kan een gegevenspunt in uitblinken grafiek aan een andere grafiek verbinden

Ik heb een grafiek, en wil ik elk één enkel gegevenspunt op die grafiek om een andere grafiek, ben dit mogelijk omhoog te brengen verbinden?

Antwoord : Kan een gegevenspunt in uitblinken grafiek aan een andere grafiek verbinden

U kunt gebeurtenissen tot stand brengen voor het klikken van een punt op een grafiek door een klassenmodule te gebruiken.

Het steekproefwerkboek heeft een klassenmodule chtClass met MouseDown gebeurtenis diesub wordt genoemd. Door de methode te gebruiken GetChartElementID, kunnen wij bepalen welk punt werd geklikt. Een uitgezocht blok van het Geval kan dan met een ondersteunende grafiek verbinden.

Vanuit afgelopen ervaring, die kan de opstelling van klassenmodules behoorlijk een weinig netelig zijn krijgen. Ik vergeet altijd om de klassennaam in de ruit van Eigenschappen in de Redacteur te plaatsen VBA, bijvoorbeeld.

Spijker zonder kop
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
De 'volgende code gaat in een genoemd de moduleblad van de Klasse chtClass. U moet de naam van de grafiekmodule in de ruit van Eigenschappen plaatsen.
Openbare WithEvents cht als Grafiek


Privé Subcht_MouseDown (Knoop ByVal zoals lang, Verschuiving ByVal zoals lang, _
                            ByVal x zoals lang, ByVal y zoals lang)
PointClick x, y
Sub van het eind

Privé SubPointClick (ByVal x zoals lang, ByVal y zoals lang)
Schemerige ElementID zoals lang
Schemerige Arg1 zoals lang
Schemerige Arg2 zoals lang

cht.GetChartElement x, y, ElementID, Arg1, Arg2

Als ElementID = xlSeries toen
    Selecteer Geval Arg2    'Arg1 is reeksindex, is Arg2 puntindex
    Geval 1
        Bladen („Chart1“). Activeer
    Geval 2
        Bladen („Chart2“). Activeer
    Geval 3
        Bladen („Chart3“). Activeer
    Beëindig Uitgezocht
  Beëindig als

Beëindig Sub


De 'volgende code gaat op een regelmatig moduleblad
Globale oCht als Nieuwe chtClass

Sub ActivateChart1Events ()
Vastgesteld oCht.cht = Aantekenvellen („Sheet1“) .ChartObjects (1). Grafiek
Sub van het eind

Sub DeactivateChart ()
  Vastgesteld oCht.cht = niets
Sub van het eind


'Volgende sub gaat in ThisWorkbook coderuit
Sub Workbook_Open ()
ActivateChart1Events
Sub van het eind
Andere oplossingen  
 
programming4us programming4us