Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Diagramm Makro

Diagramm Makro
19.07.2022 13:42:08
Sven
Hallo,
ich würde gerne eine Makro haben um Diagramme einzufügen. ("Treemap" - 410, xlTreemap)
Bekomme das leider nicht hin. Die Bezeichnungen stehen in A57:A62 und die Werte in F57:F62.
Nur beim erstellen habe ich Probleme, die Formatierung dürfte ich hinbekommen.
Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm Makro
19.07.2022 14:32:12
Daniel
Hi
wenn du etwas konkreter beschreiben würdest, was deine Probleme sind, könnten wir dir vielleicht helfen.
Gruß Daniel
AW: Diagramm Makro
22.07.2022 10:12:34
Sven
Hey,
ich habe leider nie VBA gelernt und komme deswegen nicht richtig mit der Programmierung klar. Ich bekomme lediglich über Makrorekorder dann alles so formatiert wie ich es haben will :D
Das Programm sollte so sein das es sich auf das Tabellenblatt bezieht und ich das Makro auf verschiedenen Tabellenblätter benutzen kann.
Die Bezeichnungen stehen in A57:A62 und die Werte in F57:F62.
Danke schonmal für die Antwort.
LG
AW: Diagramm Makro
19.07.2022 15:32:14
Beverly
Hi Sven,
z.B. so:

Sub TeemapErstellen()
Dim chrDia As Object
Set chrDia = ActiveSheet.Shapes.AddChart2(410, xlTreemap)
With chrDia.Chart
.SeriesCollection.NewSeries
.FullSeriesCollection(1).Name = "=Tabelle1!$A$57:$A$62"
.FullSeriesCollection(1).Values = "=Tabelle1!$F$57:$F$62"
End With
End Sub
Bis später
Karin

Anzeige
AW: Diagramm Makro
22.07.2022 10:07:20
Dave
Hallo nochmal,
danke für deine Hilfe :)
Es wird eine Treemap erstellt aber leider nicht mit dem Bezug den ich gerne hätte.
Kann man das so programmieren, dass sich das Makro auf das Tabellenblatt bezieht, so dass wenn ich es auf verschiedenen Tabellenblätter ausführe immer funktioniert?
LG Sven
AW: Diagramm Makro
22.07.2022 11:30:55
Beverly
Hi Sven,
du hattest leider nicht geschrieben, auf welches Tabellenblatt sich die Daten beziehen sollen...
Wenn sich die Daten immer auf das aktive Tabellenblatt beziehen sollen dann ändere die folgenden beiden Codezeilen, welche der Datenreihe die Werte zuweisen:

        .FullSeriesCollection(1).Name = "=" & ActiveSheet.Name & "!$A$57:$A$62"
.FullSeriesCollection(1).Values = "=" & ActiveSheet.Name & "!$F$57:$F$62"
End With
Bis später
Karin

Anzeige
AW: Diagramm Makro
22.07.2022 12:37:36
Sven
Hey Karin,
Es wird leider immer noch nicht das ausgegeben das ich will. Es erstellt quasi die Treemap aber ohne Inhalt und in die Überschriften sind auch nur "Verzweigung1-6".
ich habe jetzt mit dem Makrorekoreder das Diagramm so angepasst wie ich es brauche, aber es funktioniert nicht weil ich die Ansprache nicht hinbekomme. Kannst du mir da helfen?
der Fehler kommt gleich bei " ActiveSheet.ChartObjects("chrDia").Activate"

Sub TeemapErstellen()
Dim chrDia As Object
Set chrDia = ActiveSheet.Shapes.AddChart2(410, xlTreemap)
With chrDia.Chart
.SeriesCollection.NewSeries
.FullSeriesCollection(1).Name = "=" & ActiveSheet.Name & "!$A$57:$A$62"
.FullSeriesCollection(1).Values = "=" & ActiveSheet.Name & "!$F$57:$F$62"
End With
ActiveSheet.ChartObjects("chrDia").Activate
ActiveChart.SetSourceData Source:=Range("E57:F62")
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).ApplyDataLabels
ActiveChart.Legend.Select
ActiveChart.SetElement (msoElementLegendNone)
ActiveChart.ChartTitle.Select
ActiveChart.SetElement (msoElementChartTitleNone)
ActiveSheet.Shapes("chrDia").IncrementLeft 194.25
ActiveSheet.Shapes("ChrDia").IncrementTop 62.6250393701
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).Points(4).Select
ActiveChart.FullSeriesCollection(0).Points(3).ApplyDataLabels
ActiveChart.FullSeriesCollection(1).Points(6).Select
ActiveChart.FullSeriesCollection(0).Points(5).ApplyDataLabels
ActiveChart.FullSeriesCollection(1).Points(3).Select
ActiveChart.FullSeriesCollection(0).Points(2).ApplyDataLabels
ActiveChart.FullSeriesCollection(1).Points(1).Select
ActiveChart.FullSeriesCollection(0).Points(0).ApplyDataLabels
ActiveChart.FullSeriesCollection(1).Points(2).Select
End Sub
LG
Anzeige
AW: Diagramm Makro
22.07.2022 14:28:38
Beverly
Hi Sven,
du hattest geschrieben, dass die Bezeichnungen in A57:A63 stehen und nichts von E62:E63.

Sub TreemapErstellen()
Dim chrDia As Object
Set chrDia = ActiveSheet.Shapes.AddChart2(410, xlTreemap)
With chrDia.Chart
With .FullSeriesCollection(1)
.XValues = "=$E$57:$E$62"
.Values = "=$F$57:$F$62"
.ApplyDataLabels
End With
.SetElement (msoElementChartTitleNone)
.SetElement (msoElementLegendNone)
End With
End Sub
Bis später
Karin

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige