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

Grafik Beschriftung (Typ = Blase)

Grafik Beschriftung (Typ = Blase)
08.06.2007 13:27:00
Thomas
Hallo an Alle!
Ich benötige mal wieder eure hilfe.
Es geht um eine Grafik (Blase) in welcher ich die Elemente beschriften möchte / muss. Aus diesem Grund habe ich mir einen Code aus der MS Knowledge Base gesucht und eingebaut (siehe unten anbei).
Dies funktioniert bei der Gesamtdarstellung auch einwandfrei. Sobald man aber bei den Daten einen Filter setzt wird die Beschriftung fehlerhaft. z.B.: Ich wähle die Zeile 27 per Filter aus, dann erhält dieser Bubble in der Grafik die Beschriftung der ersten Zeile.
Könnt ihr mir helfen den Code umzuschreiben ?
Vielen Dank für eure Hilfe
Thomas H.

Private Sub Beschriftung()
'Dimension variables.
Dim Counter As Integer, ChartName As String, xVals As String
' Disable screen updating while the subroutine is run.
Application.ScreenUpdating = False
'Store the formula for the first series in "xVals".
xVals = ActiveChart.SeriesCollection(1).Formula
'Extract the range for the data from xVals.
xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, Mid(Left(xVals, InStr(xVals, "!") - 1),  _
9)))
xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
Do While Left(xVals, 1) = ","
xVals = Mid(xVals, 2)
Loop
'Attach a label to each data point in the chart.
For Counter = 1 To Range(xVals).Cells.Count
ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = True
ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = Range(xVals).Cells( _
Counter, 1).Offset(0, -34).Value
Next Counter
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik Beschriftung (Typ = Blase)
08.06.2007 14:38:00
Beverly
Hi Thomas,
du hast dir schon die Mühe gemacht, eine Arbeitsmappe zu erstellen. Wenn man eine nachbaut, besteht die Gefahr, dass man nicht dieselben Bedingungen berücksichtigt wie im Original. Vielleicht könntest du deine Arbeitsmappe hochladen?
________________________________________

AW: Grafik Beschriftung (Typ = Blase)
08.06.2007 15:35:58
ingUR
Hallo, Thomas,
zwar fischtst Du Dir aus der "Formula" den korrekten Strung für (vermutlich) die X-Datenreihe heraus, doch der berücksichtigt nicht die ausgeblendeten Zeilen bei einem gesetzten Filter, so dass in der Tat immer mit dem setzen des ersten Wertes begonnen wird, obwohl die gefilterte Datenreihe est mit dem x-ten Wert beginnt. Auch werden in der Reihe die einträge der ungefilterten Serie gesetzt.
Ich habe ein wenig in der Routine zum Setzen der Labels umgeändert und hoffe dass es so klappen wird (nicht getestet), denn es werden hier nun die versteckten Zeilen übersrunfen, den Counter-Zähler nutze ich um die sichtbaren Zeilen hochzuzählen:

Sub Beschriftung()
'Dimension variables.
Dim Counter As Integer, ChartName As String, xVals As String
Dim rngC As Range
' Disable screen updating while the subroutine is run.
Application.ScreenUpdating = False
'Store the formula for the first series in "xVals".
xVals = ActiveChart.SeriesCollection(1).Formula
'Extract the range for the data from xVals.
xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, Mid(Left(xVals, InStr(xVals, "!") - 1),  _
_
9)))
xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
Do While Left(xVals, 1) = ","
xVals = Mid(xVals, 2)
Loop
'Attach a label to each data point in the chart.
For Each rngC In Range(xVals)
If not rngC.Rows.Hidden Then
Counter = Counter + 1
ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = True
ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = rngC.Offset(0, _
-34).Value
End If
Next rngC
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige