Hirdetés

Új hozzászólás Aktív témák

  • bteebi

    veterán

    Sziasztok!

    Van egy táblázatom, aminek a sorai alapján (1-50-ig) diagramokat generálok. Úgy van megcsinálva, hogy ha egy adott cellában (jelen esetben az A1-ben) lévő számot megváltoztatom, akkor a diagram annak megfelelően dinamikusan változik. Át szeretném másolni az összes diagramot egy másik munkalapra, egymás alá: egy adott sorban az lenne kiírva, hogy hanyadik ábra, alatta pedig a diagram lenne. Word dokumentumba még jobb lenne, de sajnos egyelőre még csak ott tartok, hogy egy másik lapra másolja át. Pontosabban még ott se, mert valamiért nem működik. (Ráadásul nem is "elegáns".)

    Sub graphcopy()
    Dim i As Integer
    For i = 1 To 50
    Sheets("Adatok").Range("A1") = i
    Sheets("Adatok").ChartObjects("Diagram 1").Activate
    ActiveChart.ChartArea.Copy
    Sheets("Diagramok").Cells(2 + (i - 1) * 28, 2) = i & ". ábra"
    Sheets("Diagramok").Cells(2 + (i - 1) * 28, 2).Font.Bold = True
    Sheets("Diagramok").Cells(3 + (i - 1) * 28, 2).Select
    ActiveSheet.Paste
    Next
    End Sub

    Azt írja, hogy "Range osztály Select metódusa hibás". Mi a baj? Nem túl elegáns egyébként a makró; próbáltam úgy is megcsinálni, hogy Sheets("Adatok").ChartObjects("Diagram 1").Copy, de úgyse ment, a makrórögzítős gagyi megoldással (ActiveChart.ChartArea.Copy
    és ActiveSheet.Paste) működött, de ha egymás alá akarom tenni a diagramokat, akkor nem megy.

Új hozzászólás Aktív témák