Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Inhaltsverzeichnis

externe Verknüfungen in Diagrammen

externe Verknüfungen in Diagrammen
30.09.2008 09:12:00
Silvio
Hallo Leute,
mit folgendem Code von der Sammlung hier komme ich gut zurecht:

Sub Link2Value()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange.Cells
If rng.HasFormula Then
If InStr(rng.Formula, "\[") Then
rng.Value = rng.Value
End If
End If
Next rng
End Sub


Kann man diesen Code erweitern, das auch externe Verknüfungen in Diagrammen durch Werte ersetzt werden?
Gruß Silvio

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: externe Verknüfungen in Diagrammen
30.09.2008 10:39:00
Beverly
Hi Silvio,
nein, das geht nicht.
Man kann zwar Werte auch ohne Bezug auf einen Zellbereich direkt eingeben - also im Diagramm unter Datenquelle -&gt Reihe bei Werte eintragen (z.B. ={1.4.16.33.65.86.97}) - aber die Anzahl Zeichen ist auf ca. 220 begrenzt. Der bessere Weg wäre deshalb, wenn du dir die Daten aus der externen Arbeitsmappe in die aktuelle holst und dann den Datenbereich des Diagramms entsprechend anpasst.


AW: externe Verknüfungen in Diagrammen
30.09.2008 11:25:14
Silvio
Hallo Karin,
danke für die schnelle Antwort.
Ich hab mir schon gedacht, das es nicht einfach ist.
Mir würde reichen, wenn ich die Werte bei "=Datenreihe" hätte.
Manuell kann ich das über markieren der Formel und dann F9 und Enter drücken.
Läßt sich sowas in einen Code einbauen?
Gruß Silvio
Anzeige
AW: externe Verknüfungen in Diagrammen
30.09.2008 11:53:34
Beverly
Hi Silvio,

Sub dia_bezuege_umwandeln()
Dim chDiagramm As Chart
Dim arrXWerte()
Dim arrYWerte()
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
arrXWerte = .SeriesCollection(inReihe).XValues
arrYWerte = .SeriesCollection(inReihe).Values
.SeriesCollection(inReihe).XValues = arrXWerte
.SeriesCollection(inReihe).Values = arrYWerte
Next inReihe
End With
End Sub




Anzeige
AW: externe Verknüfungen in Diagrammen
30.09.2008 13:04:00
Silvio
Hallo Karin,
vielen herzlichen Dank! Für die x-Werte funktioniert es, bei den Y-Werten bringt er einen Fehler bei:
.SeriesCollection(inReihe).Values = arrYWerte
Und zwar: "Die Values-Eigenschaft des Series-Objektes kann nicht festgelegt werden"
Kommentiere ich die Zeile aus, dann läuft er durch, wobei nur die x-Werte umgesetzt werden.
Egal ob ich nur in einer Zelle oder im Diagramm selbst stehe.
Gruß Silvio
AW: externe Verknüfungen in Diagrammen
30.09.2008 13:43:21
Beverly
Hi Sylvio,
wie ich in meinem 1. Beitrag schon geschrieben habe, ist die Anzahl an Zeichen (nicht Werte! Z.B. enthält der Zahlenwert 1,23456 -&gt 7 Zeichen!), die man ohne Zellbezug direkt eingeben kann, begrenzt. Wenn diese Anzahl überschritten wird, läuft der Code auf genannten Fehler. Deshalb auch mein Vorschlag, die Daten in die Arbeitsmappe zu übernehmen und das Diagramm darauf beziehen.


Anzeige
AW: externe Verknüfungen in Diagrammen
30.09.2008 14:03:33
Silvio
Hi Karin,
das ist sehr schade.:-(
Danke Dir trotzdem für Deine Mühe.
Gruß Silvio
AW: externe Verknüfungen in Diagrammen
30.09.2008 14:42:09
Beverly
Hi Silvio,
du hast aber die andere Möglichkeit, wie Werte in das Tabellenblatt zu holen und dein Diagramm darauf zu beziehen. Das WIE hängt aber vom Diagrammtyp ab. Für ein Punkt(XY)-Diagramm kannst du das z.B. mit diesem Code machen:

Sub dia_bezuege_umwandeln2()
Dim chDiagramm As Chart
Dim arrXWerte
Dim arrYWerte
Dim inZaehler As Integer
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
arrXWerte = .SeriesCollection(1).XValues
For inZaehler = 1 To UBound(arrXWerte)
Cells(inZaehler, 10) = arrXWerte(inZaehler)
Next inZaehler
For inReihe = 1 To .SeriesCollection.Count
arrYWerte = .SeriesCollection(inReihe).Values
For inZaehler = 1 To UBound(arrYWerte)
Cells(inZaehler, inReihe + 10) = arrYWerte(inZaehler)
Next inZaehler
Next inReihe
.SetSourceData Source:=Range(Cells(1, 10), Cells(UBound(arrXWerte), inReihe + 9))
End With
End Sub


Die Werte werden in den Bereich J1:Lxx eingetragen und der Datenbereich des Diagramms darauf bezogen. Die letzte Spalte ist abhängig von der Datenreihenanzahl (im Beispiel L weil es 2 Datenreihen sind) und xx ist abhängig von der Anzahl der X-Werte.



Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige