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
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4716
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12143
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4465
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3284
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » 24 dub 2025 10:51 » v Kancelářské balíky
    5
    3891
    od atari Zobrazit poslední příspěvek
    26 dub 2025 09: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 4 hosti