![]() |
Tipp 0260
|
Diagramme erstellen
|
 |
|
Autor/Einsender: Datum: |
|
Angie 25.04.2005 (Update) |
|
Entwicklungsumgebung: |
|
Excel 2000 |
|
|
In Excel können Diagramme entweder in Tabellen eingebettet (ChartObject) oder in
eigenen Diagrammblättern (Chart) dargestellt werden. Das Einbetten der Diagramme
in einem Tabellenblatt hat den Vorteil, dass sich das Diagramm zusammen mit den dazugehörigen
Daten auf einem Blatt befindet.
|
Normalerweise wird ein eingebettetes Diagramm z. B. mit folgender Code-Zeile sowohl erstellt
als auch gleich auf einem Tabellenblatt platziert:
|
|
|
Set objChart = ActiveWorksheet.ChartObjects.Add( _
100, 50, 300, 200).Chart
|
|
|
Leider gibt es vor allem in Excel 97 Probleme mit den Schriftgrößen, der Legende u.v.m.,
wenn man dem eingebetteten Diagramm z. B. einen Titel hinzufügen möchte! Daher wurde in
folgendem Beispiel das Diagramm erst nach dem Hinzufügen aller Angaben auf das angegebene
Tabellenblatt verschoben.
|
In folgendem Beispiel wird der verwendete Bereich im Tabellenblatt ermittelt und für das
Erstellen des Diagramms als Bereich (Range-Objekt) übergeben.
|
|
|
Public Sub CreateChartObjectRange()
Dim wksData As Worksheet
Dim rngData As Range
Dim nRowsCnt As Long
Dim nColsCnt As Integer
Dim objChart As Chart
Dim objChartObj As ChartObject
On Error GoTo err_CreateChart
Set wksData = ThisWorkbook.Worksheets("Diagramm-Daten")
With wksData
nRowsCnt = .Cells(.Rows.Count, 1).End(xlUp).Row
nColsCnt = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rngData = .Range(.Cells(1, 1), .Cells(nRowsCnt, nColsCnt))
End With
Application.ScreenUpdating = False
Set objChart = Application.Charts.Add
With objChart
.ChartType = xlLineMarkers
.SetSourceData Source:=rngData, PlotBy:=xlColumns
.HasTitle = True
.ChartTitle.Text = "Diagramm erstellt mit dem" & _
vbLf & "Range-Objekt"
.Location Where:=xlLocationAsObject, Name:=wksData.Name
End With
Set objChartObj = wksData.ChartObjects( _
wksData.ChartObjects.Count)
With objChartObj
.Left = 10
.Top = 50
.Width = 300
.Height = 200
End With
wksData.Range("A1").Select
exit_sub:
On Error Resume Next
Application.ScreenUpdating = True
Set objChartObj = Nothing
Set objChart = Nothing
Set rngData = Nothing
Set wksData = Nothing
On Error GoTo 0
Exit Sub
err_CreateChart:
MsgBox "Fehler " & Err.Number & vbCrLf & Err.Description, _
vbOKOnly + vbCritical
Resume exit_sub
End Sub
|
|
|
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
Excel-Version |
95 |
 |
|
97 |
 |
|
2000 |
 |
|
2002
(XP) |
 |
|
2003 |
 |
|
2007 |
 |
|
2010 |
 |
|
|
|
Download (16,5 kB)
|
Downloads bisher: [ 3302 ]
|
|
|