Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - hromadná změna řad grafu

Môj predošlý príspevok bol mienený ironicky, mieriac na to, že ťažko pochopiť, ako to myslíš. Ak Ti to však poskytlo inšpiráciu, tak som rád ;-)
Najlepšie je poskytnúť predlohu.
Keďže naďalej pracujeme bez predlohy, tak v prípade, že Ti funguje ten Tvoj kód, tak potom jeho zjednodušenie by malo vyzerať takto:

Sub PrebarveniGrafu()
Application.ScreenUpdating = False
ActiveSheet.ChartObjects("Graf 1").Activate
    For i = 1 To 100
        With ActiveChart.FullSeriesCollection(i).Format.Line
            .Visible = msoTrue
            .Transparency = 0
            .Weight = 0.75
            Select Case i
                Case Is < 51
                    ' počet řad, které mají být změněny - barva 1
                    .ForeColor.RGB = RGB(237, 125, 49) 'oranžová
                 Case Is > 50
                    ' počet řad, které mají být změněny - barva 2
                    .ForeColor.RGB = RGB(91, 155, 213) 'modrá
            End Select
        End With
    Next i
End Sub

Jedná sa o "vyňatie" rovnakého dielu kódu (pomocou With) namiesto jeho otrockého duplikovania a využitie spoločného cyklu od 1 do 100 s rozlíšením intervalov (pomocou Select Case).
Okrem toho, pokiaľ sa .Visible, .Transparency a .Weight nelíšia od defaultu, je možné ich vynechať. No a Application.ScreenUpdating=False Ti vypne prekresľovanie po jednotlivých radách a výsledok sa naraz zobrazí až po prebehnutí celej operácie.

P.S. No a keďže v prípade, že Tvoj kód fungoval, tak už to máš poriešené a keďže úloha je jednorazová, tak Ti moja odpoveď pomôže už len nabudúce, pri úvahách o zjednodušeniach makier. Makrá nahraté záznamníkom majú totiž v sebe spústu nadbytočného balastu.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny