Anzeige
Archiv - Navigation
1100to1104
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
Diagramm Seitenfüllend darstellen!
lisa
Hallo
Über diesen Code erzeuge ich im Tabellenblatt2 ein Diagramm!
Wie kann ich diese Diagramm auf eine Seitenfüllende Größe mittesl VBA bringen?
Ich möchte kein Tabellenblatt, welches das Daigramm Seitenfüllend beinhaltet, erzeugen! Es sollte im Tabellenblatt2 bleiben!
Private Sub CommandButton3_Click()
'Selection.CurrentRegion.Select
Charts.Add
ActiveChart.ChartType = xlLineStacked
ActiveChart.SetSourceData Source:=Sheets("Datensammler").Range("A1:B173")
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle2"
Sheets("Tabelle2").Select
End Sub
Kann mir hierbei jemand helfen?
Danke Gruß Lisa

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Diagramm Seitenfüllend darstellen!
18.09.2009 12:33:34
fcs
Hallo Lisa,
geht wie folgt,
Die Zelladressen zur Festlegung der Diagrammgröße muss du ggf. ein wenig an deine Seiteneinstellungen anpassen.
Gruß
Franz
Private Sub CommandButton3_Click()
Dim objChart As Chart, objChartObject As ChartObject
Application.ScreenUpdating = False
'Selection.CurrentRegion.Select
Charts.Add
Set objChart = ActiveChart
objChart.ChartType = xlLineStacked
objChart.SetSourceData Source:=Sheets("Datensammler").Range("A1:B173")
With Sheets("Tabelle2")
'ggf. vorhandenes Diagramm löschen
If .ChartObjects.Count > 0 Then
.ChartObjects(.ChartObjects.Count).Delete
End If
'Neues Diagramm verschieben
objChart.Location Where:=xlLocationAsObject, Name:="Tabelle2"
Set objChartObject = .ChartObjects(.ChartObjects.Count)
objChartObject.Top = .Range("A1").Top
objChartObject.Left = .Range("A1").Left
objChartObject.Width = .Range("L1").Left - .Range("A1").Left - 1
objChartObject.Height = .Range("A36").Top - .Range("A1").Top - 1
.Activate
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Diagramm Seitenfüllend darstellen!
18.09.2009 13:09:26
lisa
Hallo und danke für die schnelle Antwort.
Es funktioniert mit einer Einschränkung.
Das Diagramm wird in Datenfeld (Datenquelle) als Zeilen angezeigt und somit keine Darstellung.
Ändere ich das Datenfeld (Datenquelle) auf Spalte ist alles ok! Kannst du das noch umgestellen?
Danke für die Hilfe Lisa
AW: Diagramm Seitenfüllend darstellen!
18.09.2009 13:28:37
fcs
Hallo Lisa,
die Darstellung des Diagramms hängt ja leider immer von den Zellen ab, die zum Zeitpunkt des Makro-Starts selektiert sind.
Die folgende Ergänzung im Makro ezwingt die gewünschte Darstellung.
Gruß
Franz
Private Sub CommandButton3_Click()
Dim objChart As Chart, objChartObject As ChartObject
Application.ScreenUpdating = False
'Selection.CurrentRegion.Select
Charts.Add
Set objChart = ActiveChart
objChart.ChartType = xlLineStacked
objChart.SetSourceData Source:=Sheets("Datensammler").Range("A1:B173")
objChart.PlotBy = xlColumns 'xlRows
With Sheets("Tabelle2")
'ggf. vorhandenes Diagramm löschen
If .ChartObjects.Count > 0 Then
.ChartObjects(.ChartObjects.Count).Delete
End If
objChart.Location Where:=xlLocationAsObject, Name:="Tabelle2"
Set objChartObject = .ChartObjects(.ChartObjects.Count)
objChartObject.Top = .Range("A1").Top
objChartObject.Left = .Range("A1").Left
objChartObject.Width = .Range("L1").Left - .Range("A1").Left - 1
objChartObject.Height = .Range("A36").Top - .Range("A1").Top - 1
.Activate
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Diagramm Seitenfüllend darstellen!
18.09.2009 13:47:26
lisa
Hallo
Das ist sehr gut! Nun ist es wie gewünscht! Danke dir.
Darf ich vieleicht noch eine Frage stellen.
Ich habe gestern von Hajo und Luschi zum Thema nur beschriebenen Bereich meine Code umgestellt.
Hierbei handelt es sich um diese Zeile.
ActiveChart.SetSourceData Source:=Sheets("Datensammlung").Range("A1:B173")
Ich habe sie so umgestellt um nur den Bereich der ausgewertet werden soll berücksichtigt wird.
ActiveChart.SetSourceData Source:=Sheets("Datensammlung").UsedRange
Es soll nur der Bereich in der Tabelle ("Datensammlung") selektiert und graph. Dargestellt werden!
Nun merke ich aber das hier nicht nur bis zur Zeile 173 sondern bis Zeile 64500 ausgewertet wird!
Hast du hier auch evtl eine Idee zu?
Gruß Lisa
Anzeige
AW: Diagramm Seitenfüllend darstellen!
18.09.2009 13:59:04
Beverly
Hi Lisa,
dann sind die Zellen nicht wirklich leer, sondern nur ihr Inhalt wurde gelöscht. Markiere alle Zeilen unterhalb deiner letzten benutzen Zeile und lösche sie (Zellen löschen und nicht einfach Entf. drücken). Speichere die Mappe anschließend.
Mit Strg+Ende gelangst du in die letzte belegte Zelle. Liegt sie immer noch außerhalb deiner tatsächlich letzten benutzten Zelle musst du das Ganze wiederholten.


AW: Diagramm Seitenfüllend darstellen!
18.09.2009 15:46:31
lisa
Hallo
Ok Ich habe das mit dem löschen verstenden und geä. Nun wird der Bereich auch erkannt und ausgewertet. Danke für die Hilfe
Grüße Lisa
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige