Domino 9 und frühere Versionen > ND9: Entwicklung

Excel-Netzdiagramm mit LotusScript erstellen

<< < (4/4)

LuckyNoob:
Vielleicht könnt ihr mir wieder den richtigen Tritt verpassen...  ;)
Wie kann ich die Legende bearbeiten (Bezeichnungen hinzufügen)?

VBA wirft folgendes aus:

--- Code: ---ActiveChart.SeriesCollection(1).XValues = _
        "='Name des Arbeitsblattes'!Z5S2:Z5S6"
--- Ende Code ---

Habe mir auch gedacht, dass ich einen Range zurückgeben muss:

--- Code: ---Set sc = chartObject.SeriesCollection
sc(1).XValues(xlSheet.Range(xlSheet.Cells(5,2), xlSheet.Cells(5,6)))

--- Ende Code ---
Aber das funzt auch nicht.

Ich hoffe, ihr könnt mir da nochmal helfen.

jBubbleBoy:
Ist dein "sc" ein Array oder eine Klassenvariable? Versuch das mal:

--- Code: ---Set sc = chartObject.SeriesCollection(1)
sc.XValues(xlSheet.Range(xlSheet.Cells(5,2), xlSheet.Cells(5,6)))

--- Ende Code ---

LuckyNoob:
Hallo,

leider bekomme ich beim folgenden Code
--- Code: ---Set sc = chartObject.SeriesCollection(1)
sc.XValues(xlSheet.Range(xlSheet.Cells(5,2), xlSheet.Cells(5,6)))

--- Ende Code ---

die Fehlermeldung: Automation object member not found

Nun folgende Fehlermeldung:

--- Code: ---Automation object error
--- Ende Code ---

Hier mal mein Code für das Diagramm, damit man besser sehen kann, was ich überhaupt machen will, bzw. wie alles aussieht:

--- Code: ---Const xlLocationAsObject = 2
Dim chartObject As Variant
xlApp.Charts.add
Set chartObject       = xlApp.Charts(1)
chartObject.chartType = xlPie
chartObject.setSourceData(xlSheet.Range(xlSheet.Cells(6 + i, 2), xlSheet.Cells(6 + i ,6)))
chartObject.ApplyLayout(6) ' Kreisdiagramm mit % Anzeige in den jeweiligen Teilen
With chartObject
.HasTitle                   = True
.ChartTitle.Characters.Text = "Ergebnis"
End With

       chartObject.Location xlLocationAsObject, "Arbeitsblatt"

Set sc = chartObject.SeriesCollection(1)
sc.XValues(xlSheet.Range(xlSheet.Cells(5,2), xlSheet.Cells(5,6)))
--- Ende Code ---

Wie gesagt, ich möchte gerne noch die Legende einfügen.
Wenn die Spaltenüberschrift über den jeweiligen Werten wäre, dann ist das kein Problem. Jedoch beziehe ich die Werte aus tieferen Zeilen und somit muss ich halt extra im Nachgang die Spaltenüberschrift als Diagrammlegende eintragen.


EDIT:
Ich habe erst einmal eine Zwischenlösung gefunden.
Beim setzen der setSourceData gebe ich dem Range neben den eigentlichen Werten zusätzlich die "Überschriften".

--- Code: ---chartObject.setSourceData(xlSheet.Range("'Ergebnis'!$B$5:$F$9:;'Ergebnis'!$B$9:$F$9"))
--- Ende Code ---

Trotzdem würde ich gerne die Beschriftung nachträglich ändern können.
Ich hoffe, ihr könnt da helfen.

LuckyNoob:
Ich habe leider noch eine kleine Frage...  ???
kann man ein Diagramm via LS auch eine feste Position zuordnen bzw. an eine Zelle etc. binden?

Vielen Dank und viele Grüße

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln