Quellenangabe f. Diagramm im VBA ü. Range & Cells

Hallo Experte,
Ich möchte die Datenquelle für ein Blasendiagramm nur über Variablen angeben,
Deklariert is u.a.folgendes:

Const b As Integer = 2
Dim ws As Worksheet, chtObj As ChartObject, cht As Chart, chtSC As SeriesCollection
Dim i As Integer, zeilenbeginn As Integer, zeilenende As Integer
zeilenbeginn = 3
zeilenende = 9
Dim spa1 As Integer, AchsX As Integer
Dim spa2 As Integer, AchsY As Integer
Dim spa3 As Integer, AchsB As Integer

für die Y-Achse und X-Achse funktioniert diese Form !!!

'Quelle für X-Achse
ActiveChart.SeriesCollection(1).XValues = Sheets(„Charts“).Range(Sheets(„Charts“).Cells(zeilenbeginn, AchsX), Cells(zeilenende, AchsX))

'Quelle für Y-Achse
ActiveChart.SeriesCollection(1).Values = Sheets(„Charts“).Range(Sheets(„Charts“).Cells(zeilenbeginn, AchsY), Cells(zeilenende, AchsY))

für die Blasengröße funktioniert diese Form ABER nicht: --> hier beginnt mein Problem

ActiveChart.SeriesCollection(1).BubbleSizes = Sheets(„Charts“).Range(Sheets(„Charts“).Cells(zeilenbeginn, AchsB), Cells(zeilenende, AchsB))

an dieser Stelle kommt dann:
Laufzeitfehler (5)
ungültiger Prozeduraufruf oder ungültiges Argument

Wenn ich aber so angebe, wie es bei Aufzeichnung eines Makros entsteht, dann funktioniert es wieder:

ActiveChart.SeriesCollection(1).BubbleSizes = „=Charts!R3C4:R9C4“

Ich brauche dringend einen Rat.
Danke euch!!!

für die Blasengröße funktioniert diese Form ABER nicht: -->
hier beginnt mein Problem
ActiveChart.SeriesCollection(1).BubbleSizes =
Sheets(„Charts“).Range(Sheets(„Charts“).Cells(zeilenbeginn,
AchsB), Cells(zeilenende, AchsB))
an dieser Stelle kommt dann:
Laufzeitfehler (5)
ungültiger Prozeduraufruf oder ungültiges Argument

Wenn ich aber so angebe, wie es bei Aufzeichnung eines Makros
entsteht, dann funktioniert es wieder:
ActiveChart.SeriesCollection(1).BubbleSizes =
„=Charts!R3C4:R9C4“

Hi Capo,

ungetestet, probiers mal so:

ActiveChart.SeriesCollection(1).BubbleSizes ="=Charts!R" & zb & „C“ & ab & „:R“ & ze & „C“ & ab

(Ich hab deine Variablen abgekürzt, müßte man aber mit klarkommen wie ich es meine.)

Gruß
Reinhard

Bubblesizes Größenwerte für Blasendiagramme eingeb
Hi Capo,

Sub tt2() funktioniert wie im Code vermerkt bei XL97 und XL2002 mit unterschiedlicher Syntax. R1C1 oder Z1S1.

An den Variablen an sich liegt es m.E. nicht. Vielleicht hast du ein „Sheets(„Charts“)“ zuwenig oder zuviel.

Sub tt() funktioniert als workaround bei beiden Excelversionen, allerdings muß davor einmalig Sub Vorher() gestartet werden, „Reihe“ markiert, dann abgebrochen werden.
Dann funktioniert die Sub tt(), aber Sendkeys ist halt immer so eine Sache.

Gruß
Reinhard

für die Blasengröße funktioniert diese Form ABER nicht: -->
hier beginnt mein Problem

ActiveChart.SeriesCollection(1).BubbleSizes =
Sheets(„Charts“).Range(Sheets(„Charts“).Cells(zeilenbeginn,
AchsB), Cells(zeilenende, AchsB))
Laufzeitfehler (5)
ungültiger Prozeduraufruf oder ungültiges Argument

Wenn ich aber so angebe, wie es bei Aufzeichnung eines Makros
entsteht, dann funktioniert es wieder:

ActiveChart.SeriesCollection(1).BubbleSizes =
„=Charts!R3C4:R9C4“

Ich brauche dringend einen Rat.
Danke euch!!!

Upsala da hatte ich doch eine Winzigkeit vergessen

-)

Wie gesagt, je nach Excelversion bei Sub tt2() eine von den beiden
H=…
Zeilen benutzen, bei mir klappte bei XL97 die in ZS-Form, bei XL2002 die in RC-Form.
Warum das so ist, weiß ich nicht.

Gruß
Reinhard

Option Explicit
'
Sub tt()
Dim Zei1, Zei2, Spa, H
Zei1 = 3
Zei2 = 9
Spa = 4
H = "=Tabelle1!" & Range(Cells(Zei1, Spa), Cells(Zei2, Spa)).Address
With ActiveSheet.ChartObjects(1)
 .Activate
 Application.SendKeys "%d{UNTEN}{UNTEN}%g" & H & "~" '2te Reihe
 Application.Dialogs(540).Show
 Range("A1").Select
End With
End Sub
'
Sub Vorher()
With ActiveSheet.ChartObjects(1)
 .Activate
 Application.Dialogs(540).Show 'oben auf "Reihe", dann auf "Abbrechen"
 Range("A1").Select
End With
End Sub
'
Sub tt2()
Dim Zei1, Zei2, Spa, H
Zei1 = 2
Zei2 = 11
Spa = 5
H = "=Tabelle1!R" & Zei1 & "C" & Spa & ":R" & Zei2 & "C" & Spa
H = "=Tabelle1!Z" & Zei1 & "S" & Spa & ":Z" & Zei2 & "S" & Spa
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).BubbleSizes = H
End Sub