Vraag : Het toevoegen van en het verwijderen van reeks voor een grafiek die van Excel VBA gebruiken

Hallo,
I am die moeilijkheid heeft die een reeks toevoegt aan een grafiek die ik gebruikend VBA heb geproduceerd. Ik wil verschillende reeks afhankelijk van de waarde van een aantal in een cel van Excel tonen. Dit deel van de code werkt goed; nochtans, wanneer ik probeer om extra reeks aan de grafiek toe te voegen zodat ik 3 verschillende degenen kan meteen tonen (terwijl kleurencodage de reeks) richt ik heb geen geluk - ik houd krijgend een fout ongeacht om het even welke syntaxis dat I use.

I weet dat dit vrij eenvoudig is en met correct het krijgen van de syntaxis moet doen maar ik kan niet schijnen om te berekenen welk het is.

As ik verklaarde, wil ik één reeks (die afhankelijk van de waarde van de cel) verschillend zal zijn voor 5 keuzen kunnen tonen terwijl op de 6de keus die ik heb willen om kunnen tvertoning 3 reeksen in combinatie. Als de gebruiker optie 1 -5 na het kiezen van otion 6 kiest, moet de grafiek één reeks opnieuw slechts tonen (zodat kan ik de reeks moeten verwijderen na het toevoegen van hen - niet zeker). />Please

" codeBody "
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:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
Public SubUpdateChart ()

    Schemerige ChtObj als ChartObject
    Schemerige PriceType zoals lang
    Vastgestelde ChtObj = ActiveSheet.ChartObjects (1)
    
    Application.ScreenUpdating = Vals
    
    PriceType = ActiveSheet.Cells (13, 20). Waarde
    
    Als PriceType = 1 toen
        ChtObj.Chart.SeriesCollection (1). Taxeert = ActiveSheet.Range („771: 1475“)
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 4
        ChtObj.Visible = Waar
    Anders
    Als PriceType = 2 toen
        ChtObj.Chart.SeriesCollection (1). Taxeert = ActiveSheet.Range („$D$771: $D$1475“)
        ChtObj.Chart.SeriesCollection (1) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 5
        ChtObj.Visible = Waar
    Anders
    Als PriceType = 3 toen
        ChtObj.Chart.SeriesCollection (1). Taxeert = ActiveSheet.Range („$E$771: $E$1475“)
        ChtObj.Chart.SeriesCollection (1) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 3
        ChtObj.Visible = Waar
    Anders
    Als PriceType = 4 toen
        ChtObj.Chart.SeriesCollection (1). Taxeert = ActiveSheet.Range („$I$771: $I$1475“)
        ChtObj.Chart.SeriesCollection (1) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 9
        ChtObj.Visible = Waar
    Anders
    Als PriceType = 5 toen
        ChtObj.Chart.SeriesCollection (1). Taxeert = ActiveSheet.Range („$F$771: $F$1475“)
        ChtObj.Chart.SeriesCollection (1) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 7
        ChtObj.Visible = Waar
    Anders
    Als PriceType = 6 toen
        
        ChtObj.Chart.SeriesCollection (1). Taxeert = ActiveSheet.Range („D$771: $D$1475“)
        ChtObj.Chart.SeriesCollection (1) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (1) .MarkerBackgroundColorIndex = 5
        ChrtObj.Chart.SeriesCollection.Add
        ChtObj.Chart.SeriesCollection (2). Taxeert = ActiveSheet.Range („E$771: $E$1475“)
        ChtObj.Chart.SeriesCollection (2) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (2) .MarkerBackgroundColorIndex = 3
        ChrtObj.Chart.SeriesCollection.Add
        ChtObj.Chart.SeriesCollection (3). Taxeert = ActiveSheet.Range („I$771: $I$1475“)
        ChtObj.Chart.SeriesCollection (3) .MarkerForegroundColorIndex = 1
        ChtObj.Chart.SeriesCollection (3) .MarkerBackgroundColorIndex = 9
        ChtObj.Visible = Waar
    Eind als
    Eind als
    Eind als
    Eind als
    Eind als
    Eind als
    ActiveSheet.PivotTables („PivotTable3“) .PivotCache.Refresh

Application.ScreenUpdating = Waar

Sub van het eind

Antwoord : Het toevoegen van en het verwijderen van reeks voor een grafiek die van Excel VBA gebruiken

ook met blokken zal helpen de overtollige code verminderen, hopen dit nuttig is
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:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
Openbare SubUpdateChart ()
  
    Schemerige ChtObj als ChartObject
    Schemerige PriceType zoals lang
    Vastgestelde ChtObj = ActiveSheet.ChartObjects (1)
      
    Application.ScreenUpdating = Vals
      
    PriceType = ActiveSheet.Cells (13, 20). Waarde
      
    Als PriceType = 1 toen
        Met ChtObj.Chart.SeriesCollection (1)
            . Taxeert = ActiveSheet.Range („771: 1475“)
            .MarkerBackgroundColorIndex = 1
            .MarkerBackgroundColorIndex = 4
        Eind met
        ChtObj.Visible = Waar
    ElseIf PriceType = 2 toen
        Met ChtObj.Chart.SeriesCollection (1)
            . Taxeert = ActiveSheet.Range („$D$771: $D$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 5
        Eind met
        ChtObj.Visible = Waar
    ElseIf PriceType = 3 toen
        Met ChtObj.Chart.SeriesCollection (1)
            . Taxeert = ActiveSheet.Range („$E$771: $E$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 3
        Eind met
        ChtObj.Visible = Waar
    ElseIf PriceType = 4 toen
        Met ChtObj.Chart.SeriesCollection (1)
            . Taxeert = ActiveSheet.Range („$I$771: $I$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 9
        Eind met
        ChtObj.Visible = Waar
    ElseIf PriceType = 5 toen
        Met ChtObj.Chart.SeriesCollection (1)
            . Taxeert = ActiveSheet.Range („$F$771: $F$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 7
        Eind met
        ChtObj.Visible = Waar
    ElseIf PriceType = 6 toen
        Met ChtObj.Chart.SeriesCollection (1)
            . Taxeert = ActiveSheet.Range („D$771: $D$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 5
        Eind met
        ActiveChart.SeriesCollection.NewSeries
        Met ChtObj.Chart.SeriesCollection (2)
            . Taxeert = ActiveSheet.Range („E$771: $E$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 3
        Eind met
        ActiveChart.SeriesCollection.NewSeries
        Met ChtObj.Chart.SeriesCollection (3)
            . Taxeert = ActiveSheet.Range („I$771: $I$1475“)
            .MarkerForegroundColorIndex = 1
            .MarkerBackgroundColorIndex = 9
        Eind met
        ChtObj.Visible = Waar
    Eind als
    ActiveSheet.PivotTables („PivotTable3“) .PivotCache.Refresh
  
Application.ScreenUpdating = Waar
  
Sub van het eind
Andere oplossingen  
 
programming4us programming4us