Sub Makro3()
For i = 1 To 71
ThisWorkbook.Charts(i).SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(255, 0, 255)
ThisWorkbook.Charts(i).SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 255)
ThisWorkbook.Charts(i).SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(255, 0, 255)
ThisWorkbook.Charts(i).SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(255, 0, 255)
Next
End Sub
Pozdravljeni,
koda deluje. vendar pri zadnjih desetih grafih mi ne spremeni barve in naprimer eno serijo pri nekaterih grafih izpusti. morda, da je razlog v tem, da so bili ti zadnji grafi dodani v excel2007, vsi ostali
pa so že od prej (excel 2003). Ali je možno, da se v excelu 2007 drugače naziva grafe?
Ali je kakšen drug ukaz za izbor serije?
Najlepša hvala
martin
Spreminjanje barv grafa v VBA
Spreminjanje barv grafa v VBA
Zadnjič spremenil hosta90, dne Pe Avg 05, 2011 10:58 am, skupaj popravljeno 1 krat.
Re: Spreminjanje barv grafa v VBA
Elementi grafov v Excelu 2003 in 2007 so enaki; no Excel 2007 jih pozna nekaj več, a to v vašem primeru ni pomembno.
V vašem, primeru je problem verjetno samo v tem, da grafi v Excelu 2007 niso bili narejeni po enakem vzorcu in njihova lastnost SeriesCollection(1) in SeriesCollection(2) ne kaže na isti nabor podatkov kot v preostalih grafih.
V vašem, primeru je problem verjetno samo v tem, da grafi v Excelu 2007 niso bili narejeni po enakem vzorcu in njihova lastnost SeriesCollection(1) in SeriesCollection(2) ne kaže na isti nabor podatkov kot v preostalih grafih.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Spreminjanje barv grafa v VBA
Kako pa bi lahko rešil ta problem?
Ker imam ogromno datotek z grafi...tako, da bi bilo preveč dela grafe drugače narediti.
Ali obstaja kakšna možnost, da bi mi makro spremenil grafe v želene barve?
Kaj bi moral spremeniti oz. dodati?
Najlepša hvala!
Ker imam ogromno datotek z grafi...tako, da bi bilo preveč dela grafe drugače narediti.
Ali obstaja kakšna možnost, da bi mi makro spremenil grafe v želene barve?
Kaj bi moral spremeniti oz. dodati?
Najlepša hvala!
Re: Spreminjanje barv grafa v VBA
Uf to pa je čisto presplošno vprašanje, da bi vam lahko pomagal...
A glede na vaš opis iz osnovnega vprašanje, kjer pravite, da imate množico starih grafov, nad katerimi makro deluje pravilno vam svetujem sledeče... Namesto novih grafov, nad katerimi makro ne deluje, raje vzamite katerega izmed starih grafom in ga skopirajte. Potem pa skopiranemu grafu spremenite območje podatkov in tako bosta grafa popolnoma enaka, le da dosta kazala na različne podatke! Ker bosta torej grafa tehnično enaka, bo zatorej tudi makro dobro deloval!
A glede na vaš opis iz osnovnega vprašanje, kjer pravite, da imate množico starih grafov, nad katerimi makro deluje pravilno vam svetujem sledeče... Namesto novih grafov, nad katerimi makro ne deluje, raje vzamite katerega izmed starih grafom in ga skopirajte. Potem pa skopiranemu grafu spremenite območje podatkov in tako bosta grafa popolnoma enaka, le da dosta kazala na različne podatke! Ker bosta torej grafa tehnično enaka, bo zatorej tudi makro dobro deloval!
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Spreminjanje barv grafa v VBA
Sub av()
Dim graf As Chart
Dim serija As SeriesCollection
For Each graf In ThisWorkbook.Charts
For Each serija In graf
With graf.SeriesCollection.Format
.Line.ForeColor.RGB = RGB(255, 0, 255)
.Fill.ForeColor.RGB = RGB(255, 0, 255)
End With
Next serija
Next graf
End Sub
kako bi moral tole popraviti da bo delovalo?
najlepša hvala
martin
Dim graf As Chart
Dim serija As SeriesCollection
For Each graf In ThisWorkbook.Charts
For Each serija In graf
With graf.SeriesCollection.Format
.Line.ForeColor.RGB = RGB(255, 0, 255)
.Fill.ForeColor.RGB = RGB(255, 0, 255)
End With
Next serija
Next graf
End Sub
kako bi moral tole popraviti da bo delovalo?
najlepša hvala
martin
Re: Spreminjanje barv grafa v VBA
Glede na kodo, ki ste jo poslali ob vprašanju in kodo, ki ste jo poslali sedaj imate narobe postavljene for zanke; torej:
Koda: Izberi vse
Dim graf As Chart
Dim serija As Series
For Each graf In ThisWorkbook.Charts
For Each serija In graf.SeriesCollection
With serija.Format
.Line.ForeColor.RGB = RGB(255, 0, 255)
.Fill.ForeColor.RGB = RGB(255, 0, 255)
End With
Next serija
Next graf
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator