Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[EXCEL] Zmiana zakresu danych wykresu kołowego makrem

kila 08 Gru 2010 11:08 2244 2
  • #1 08 Gru 2010 11:08
    kila
    Poziom 17  

    Witam! Mam makro, które mi obrabia dane z tabeli przestawnej i wyświetla je jako kolumny i wiersze (przyrost danych jest jako kolejny wiersz).

    Pytanie brzmi. Jak napisać makro, które zmieni mi zakres danych wykresu kołowego na jeden wiersz w dół? Np.

    Dziś jest tak:

    Code:

    ActiveChart.PlotArea.Select
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(1).Values = _
            "=Druk!$B$4;Druk!$E$4;Druk!$H$4;Druk!$K$4;Druk!$N$4;Druk!$Q$4;Druk!$T$4"


    A jutro już powinno być tak:
    Code:

    ctiveChart.PlotArea.Select
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(1).Values = _
            "=Druk!$B$[b]5[/b];Druk!$E$[b]5[/b];Druk!$H$[b]5[/b];Druk!$K$[b]5[/b];Druk!$N$[b]5[/b];Druk!$Q$[b]5[/b];Druk!$T$[b]5[/b]"


    Nie wiem jak napisać tą składnię ActiveChart.SeriesCollection(1).Values. Mam zmienną x, w której przechowuję numer ostatniego wiersza, ale nie wiem jak to wykorzystać.

    Proszę o pomoc! Pozdrawiam!

    0 2
  • #2 08 Gru 2010 12:09
    marcinj12
    Poziom 40  

    Spróbuj czegoś takiego:

    Code:
    ActiveChart.SeriesCollection(1).Values = _
    
            "=Druk!$B$" & x & ";Druk!$E$" & x & ";Druk!$H$" & x & ";Druk!$K$" & x & ";Druk!$N$" & x & ";Druk!$Q$" & x & ";Druk!$T$" & x & ""

    0
  • #3 08 Gru 2010 12:13
    kila
    Poziom 17  

    Code:
    Sub wykres()
    
    '
    ' wykres Makro
    '
    x = 1

    Sheets("Druk").Select
       
        While (Cells(x, 1).Value <> "")
            x = x + 1
        Wend

    Sheets("Wykresy").Select
    ActiveSheet.ChartObjects("PPK").Activate
        ActiveChart.PlotArea.Select
        ActiveChart.ChartArea.Select
       

    'tutaj się wykoleja


    ActiveChart.SeriesCollection(1).Values = _
            "=Druk!$B$" & x & ";Druk!$E$" & x & ";Druk!$H$" & x & ";Druk!$K$" & x _
            & ";Druk!$N$" & x & ";Druk!$Q$" & x & ";Druk!$T$" & x


    End Sub


    Też na to wcześniej wpadłem, lecz na zaznaczonym fragmencie mi się excel wykoleja.
    Code:

    Run-time error '1004':
    Application-definer or object-defined error


    Ew. można to by zrobić zakresem:

    Code:
    ActiveSheet.ChartObjects("PPK").Activate
    
        ActiveChart.SeriesCollection(1).Values = "=Druk!$AA$15:$AG$15"


    Tylko jak w tym przypadku wstawić x zamiast 15, żeby się nie wykolejał??

    EDIT

    Ok, już mam :)

    Code:

    Sheets("Wykresy").Select
    ActiveSheet.ChartObjects("PPK").Activate
        ActiveChart.SeriesCollection(1).Values = "=Druk!$AA$" & x - 1 & ":$AG$" & x - 1 & ""

    1