Excel - makro na tvorbu grafů

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

.Ka.Brnak
nováček
Příspěvky: 13
Registrován: leden 06
Bydliště: Brno
Pohlaví: Nespecifikováno
Stav:
Offline

Excel - makro na tvorbu grafů

Příspěvekod .Ka.Brnak » 19 čer 2006 14:59

Nazdar experti. Zvládám trochu makra, ale lámu hlavu nad problémel s grafy.
V tabulce mám data o 6 sloupcích a v rámci každého řádku potřebuji vytvořit samostatný graf. Jednoduchý čarový graf na konci každého řádku (výška cirka 250 a na něm objekt "graf") se záhlavím prvních dvou sloubců.
Makro, které by generovalo takový graf za všemy řádky tabulky.
Furt mi to hlásí něco ve stylu "Method 'ceslls' of object '_Global' failed" - většinou kdy se snažím vnutit zápis pole, či rozsahu hodnot pro zdrojová data, či nadpis grafu.

ukázka:
Dim r As Long
r = 5
Do While Cells(r, 1) <> ""

Range(Cells(r, 8), Cells(r, 15)).Select
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("CR2000_průměrná těžba").Range(Cells(r, 8), Cells(r, 15))
ActiveChart.PlotBy = xlRows
ActiveChart.SeriesCollection(1).XValues = "='CR2000_průměrná těžba'!R2C8:R2C15"
ActiveChart.SeriesCollection(1).Name = "='CR2000_průměrná těžba'!R4C1:R4C2"
ActiveChart.Location Where:=xlLocationAsObject, Name:= _
"CR2000_průměrná těžba"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "228 Račice - Předonín - Dobřín"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "roky"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "'000 m3"
End With
ActiveSheet.Shapes("graf 34").IncrementLeft 205.5
ActiveSheet.Shapes("graf 34").IncrementTop 83.25
ActiveSheet.Shapes("graf 34").IncrementLeft 0.75
ActiveSheet.Shapes("graf 34").IncrementTop 2.25
ActiveSheet.Shapes("graf 34").IncrementLeft -1.5
ActiveSheet.Shapes("graf 34").IncrementTop -3#
ActiveSheet.Shapes("graf 34").ScaleWidth 0.73, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("graf 34").ScaleHeight 0.69, msoFalse, msoScaleFromTopLeft
ActiveChart.Legend.Select
Selection.Delete
ActiveSheet.Shapes("graf 34").ScaleHeight 0.99, msoFalse, _
msoScaleFromBottomRight
ActiveSheet.Shapes("graf 34").ScaleHeight 0.99, msoFalse, msoScaleFromTopLeft
r = r + 1
Loop

End Sub

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1125
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6266
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • Excel komparacedvou soborů Příloha(y)
    od teichmann.ondrej » 15 dub 2024 17:26 » v Kancelářské balíky
    7
    1678
    od teichmann.ondrej Zobrazit poslední příspěvek
    dnes, 12:28
  • Excel - problém se vzorci
    od honzzicek » 28 čer 2023 21:45 » v Kancelářské balíky
    2
    1791
    od honzzicek Zobrazit poslední příspěvek
    01 črc 2023 08:57
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    1979
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů