Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
740to744
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
740to744
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Grafik drucken / Code änderen

Grafik drucken / Code änderen
06.03.2006 14:08:44
niko
Hallo und grüße an alle
Ich habe folgendes problem. ich erstelle eine grafik (code siehe unten) ich will die grafik nach einem click auf einen cmdbutton ausdrucken.
Das problem ist aber das beim erstellen der grafik immer ein neuer name verwendet wird.
Da ich aber immer nur eine grafik pro arbeitsmappe habe will ich einen fixen namen haben zb: Diagramm1. damit ich es mit den VBa befehlen:
ActiveSheet.ChartObjects("Diagramm1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Aus drucken kann.
Hier der COde:
Public

Sub CreateChartObjectRange()
Dim onstock1() As String
Dim sitenr1 As String
Dim wksData As Worksheet
Dim rngData As Range
Dim nRowsCnt As Long
Dim nColsCnt As Integer
Dim nameueber As String
Dim objChart As Chart
Dim objChartObj As ChartObject
onstock1 = Split(UserFormVariableneingabe.ComboBoxAuswahl.Value, ";")
sitenr1 = (onstock1(0))
'Fehlerbehandlung aktivieren
On Error GoTo err_CreateChart
'Verweis auf Worksheet mit Daten setzen
Set wksData = ThisWorkbook.Worksheets(sitenr1)
'Verweis auf Datenbereich setzen
With wksData
'Anzahl der Spalten/Zeilen ermitteln
nRowsCnt = .Cells(.Rows.Count, 1).End(xlUp).Row
nColsCnt = .Cells(1, .Columns.Count).End(xlToLeft).Column
'Objektverweis auf Bereich setzen
Set rngData = .Range(.Cells(1, 1), .Cells(nRowsCnt, nColsCnt))
'In diesem Beispiel entspricht das:
'Set rngData = wksData.Range("A1:E6")
End With
'--- Diagramm erstellen ---
'Bildschirmaktualisierung deaktivieren
Application.ScreenUpdating = False
'Diagramm hinzufügen und Objektverweis setzen
Set objChart = Application.Charts.Add
With objChart
'Diagramm-Typ und -Quelldatenbereich festlegen
.ChartType = xlLineMarkers
.SetSourceData Source:=rngData, PlotBy:=xlColumns
'hard-coded:
' .SetSourceData Source:=Sheets("Diagramm-Daten").Range("A1:E6"), _
' PlotBy:=xlColumns
'Titel zuweisen
.HasTitle = True
.ChartTitle.Text = "On Stock Level plotted on Date from" & _
vbLf & "Site ID: " & sitenr1
'Diagramm auf Tabellenblatt einbetten
.Location Where:=xlLocationAsObject, name:=wksData.name
End With
'Objektverweis auf das eingebettete Diagramm setzen
Set objChartObj = wksData.ChartObjects(wksData.ChartObjects.Count)
'Position und Größe zuweisen
With objChartObj
.Left = 10
.Top = 50
.Width = 600
.Height = 400
End With
'Zelle A1 selektieren
wksData.Range("A1").Select
'Application.WindowState = xlMaximized
exit_sub:
On Error Resume Next
'Bildschirmaktualisierung aktivieren:
Application.ScreenUpdating = True
'Verweise (Speicher) freigeben
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

Wie ändere ich den VBA Code, damit ich einen fixen namen erhalte?
grüß niko

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik drucken / Code änderen
10.03.2006 07:41:30
Hans
Hallo Niko,
drucke einfach mit "ActiveSheet.ChartObjects(1).Chart.PrintOut"
gruss hans
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige