Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1208to1212
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

Daten-Label positionieren

Daten-Label positionieren
claudia-jungwirth@web.de
Hallo zusammen,
ich möchte gerne die Daten-Label von einem Bubble-Diagramm positionieren.
Hierzu habe ich auch bereits den passenden Befehl gefunden, nur leider funktioniert mein Code noch nicht so wie ich das gerne haben möchte.
Kann mir hierzu geholfen werden?
Mein Code:
'Auswahl einblenden
i = Productnumber
ActiveSheet.ChartObjects("Graph_1").Activate
'Bubble einblenden
ActiveChart.SeriesCollection(i).Select
With Selection.Interior
.ColorIndex = xlNone
.PatternColor = Sheets("Data sheet").Cells(8, i + 6).Interior.Color
.Pattern = xlSolid
.Color = Sheets("Data sheet").Cells(8, i + 6).Interior.Color
End With
ActiveChart.SeriesCollection(i).Select
With Selection.Border
.Color = RGB(0, 0, 0)
.Weight = xlThin
End With
Selection.Shadow = False
' Selection.InvertIfNegative = True
'Data label einblenden
ActiveChart.SeriesCollection(i).ApplyDataLabels AutoText:=True, LegendKey:= _
False, ShowSeriesName:=True, ShowCategoryName:=False, ShowValue:=False, _
ShowPercentage:=False, ShowBubbleSize:=False
ActiveChart.SeriesCollection(i).DataLabels.Select
With Selection.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = RGB(0, 0, 0)
.Background = xlAutomatic
.Position = xlLabelPositionBestFit 'Weiß nicht genau ob hier auch wirklich die richtige Stelle ist, wo der Befehl hinpasst?!
End With
Vielen Dank für Eure Hilfe.
Grüße
Claudia

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten-Label positionieren
27.04.2011 02:33:56
fcs
Hallo Claudia,
"Position" ist eine Eigenschaft der DataLabels, nicht des Fonts der Datalables.
so sollte es funktionieren:
'...
ActiveChart.SeriesCollection(i).DataLabels.Select
Selection.Position = xlLabelPositionBestFit
With Selection.Font
Evtl. macht es Sinn die Zeile nach dem "End With" für die Font-Eigenschaften einzufügen.
Gruß
Franz
AW: Daten-Label positionieren
27.04.2011 07:55:58
claudia-jungwirth@web.de
Hallo Franz,
erst einmal herzlichen Dank für deine schnelle Hilfe.
Ich habe nun den Code wie folgt angepasst:
'Auswahl einblenden
i = Productnumber
ActiveSheet.ChartObjects("Graph_1").Activate
'Bubble einblenden
ActiveChart.SeriesCollection(i).Select
With Selection.Interior
.ColorIndex = xlNone
.PatternColor = Sheets("Data sheet").Cells(8, i + 6).Interior.Color
.Pattern = xlSolid
.Color = Sheets("Data sheet").Cells(8, i + 6).Interior.Color
End With
ActiveChart.SeriesCollection(i).Select
With Selection.Border
.Color = RGB(0, 0, 0)
.Weight = xlThin
End With
Selection.Shadow = False
' Selection.InvertIfNegative = True
'Data label einblenden
ActiveChart.SeriesCollection(i).ApplyDataLabels AutoText:=True, LegendKey:= _
False, ShowSeriesName:=True, ShowCategoryName:=False, ShowValue:=False, _
ShowPercentage:=False, ShowBubbleSize:=False
ActiveChart.SeriesCollection(i).DataLabels.Select
Selection.Position = xlLabelPositionBestFit
With Selection.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = RGB(0, 0, 0)
.Background = xlAutomatic
End With
'Leider dumpt es immer noch: Laufzeitfehler..... Automatisierungsfehler
'Vielleicht hängt es wirklich mit deinem letzten Kommentar zusammen, den ich nicht ganz verstanden habe, was du gemeint hast.
Grüße,
Claudia
Anzeige
AW: Daten-Label positionieren
27.04.2011 13:49:07
fcs
Hallo Claudia,
ich hab eben mal manuel ein kleines Blasendiagramm erstellt.
Userbild
Es gibt für die Beschriftungsposition nicht die Option "Grösse anpassen" oder ähnlich. Du müsstest dich für eine der möglichen Optionen entscheiden. "xlLabelPositionBestFit" ist nur bei anderen Diagrammtypen möglich, z.B. Tortendiagrammen.
Gruß
Franz
AW: Daten-Label positionieren
27.04.2011 20:25:31
claudia-jungwirth@web.de
Hallo Franz,
herzlichen Dank für den Tipp.
Jedoch ist diese Alternative nur temporär. Sobald man die Änderungen per Hand verändert, verbleiben diese ja nicht. sobald ich die Grafik neu zeichnen lasse, verbleiben die Datenbeschriftungen in der automatischen Position.
Gruß,
Claudia
Anzeige
AW: Daten-Label positionieren
28.04.2011 10:57:06
fcs
Hallo Claudia,
ich nehme an, dass in deinem Diagramm jede Datenreihe nur 1 Datenpunkt hat.
Wenn die Verschiebung der Labeltexte von einer gewählten Standardposition immer die gleichen Datenpunkte betrifft und dann kann, ähnlich wie bei den Farben mit der Zellfarbe, durch Werte in Zellen für die Datenpunkte der Produkte ein Verschiebung der Linken und Rechten Position der Beschriftung vorgegeben werden. Typische Werte dürften dann zwischen -40 und +40 liegen.
Generell empfehle ich bei Diagrammen bei Diagrammbearbeitung mit Objektvariablen für Diagramm und Datenreihen zu arbeiten und die Activate und .Select und With ...Selection zu beseitigen. Es wird etwas übersichtlicher und der Makroablauf ist mit weniger Aktivitäten auf dem Bildschirm verbunden.
Gruß
Franz
Sub aaTest()
Dim oChart As Chart, oSeries As Series
Dim i As Integer, Productnumber As Integer
Set oChart = ActiveSheet.ChartObjects("Graph_1").Chart
'Auswahl einblenden
For Productnumber = 1 To 9                        '####Testzeile
i = Productnumber
Set oSeries = oChart.SeriesCollection(i)
'Bubble einblenden
With oSeries
With .Interior
.ColorIndex = xlNone
.PatternColor = Sheets("Data sheet").Cells(8, i + 6).Interior.Color
.Pattern = xlSolid
.Color = Sheets("Data sheet").Cells(8, i + 6).Interior.Color
End With
With .Border
.Color = RGB(0, 0, 0)
.Weight = xlThin
End With
.Shadow = False
' .InvertIfNegative = True
'Data label einblenden
.ApplyDataLabels AutoText:=True, LegendKey:= _
False, ShowSeriesName:=True, ShowCategoryName:=False, ShowValue:=False, _
ShowPercentage:=False, ShowBubbleSize:=False
'Datalabel formatieren
With .DataLabels
.Position = xlLabelPositionRight 'Standard-Position
With .Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = RGB(0, 0, 0)
.Background = xlAutomatic
End With
End With
'Labeltext des 1. Datenpunktes gemäß Tabelleneintrag verschieben  -  Beispiel _
Die Zeilen (hier 9 und 10), in denen die Werte stehen muss du natürlich anpassen
With .Points(1).DataLabel
.Top = .Top + Sheets("Data sheet").Cells(9, i + 6)
.Left = .Left + Sheets("Data sheet").Cells(10, i + 6)
End With
End With
Next                                                                  '#####Testzeile
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige