Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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

VBA

VBA
07.04.2016 09:45:11
Kah
Hallo Leute,
ich habe ein Diagramm mit mehreren Abteilungen. Jede Abteilung kommt mehrmals vor. Wie kann ich per VBA diese einträge löschen, sodass nur noch ein Eintrag pro Abteilung in der Legende steht?
MfG

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA
07.04.2016 10:33:40
Marc
Hi,
dieses VBA Makro Zeile kopiert in Tabellenblatt 1 die 1. Spalte komplett in die 2. und lässt Doubletten verschwinden:
Sheets(1).Columns(1).AdvancedFilter Action:=xlFilterCopy, Copytorange:=Datei.Sheets(1).Columns(2), unique:=True
Ich hoffe das hilft Dir weiter.
MfG, Marc

AW: VBA
07.04.2016 11:12:24
Kah
Das gilt aber nur für die Tabelle an sich, oder?
Ich hätte das gerne nur für die Legende

AW: VBA
07.04.2016 11:12:56
Kah
f

AW: VBA
07.04.2016 11:13:54
Kah
f

AW: VBA
07.04.2016 11:14:59
Kah
Das gilt für die ganze Tabelle, oder?
Ich hätte das gerne nur für die Legende.

AW: VBA
07.04.2016 11:15:26
Kah
Das gilt für die ganze Tabelle, oder?
Ich hätte das gerne nur für die Legende.

Anzeige
AW: VBA
07.04.2016 11:15:42
Kah
Das gilt für die ganze Tabelle, oder?
Ich hätte das gerne nur für die Legende.

AW: VBA
07.04.2016 11:17:17
Kah
Das gilt für die ganze Tabelle, oder?
Ich hätte das gerne nur für die Legende.

Legendeneinträge löschen
07.04.2016 12:03:53
Rudi
Hallo,
teste mal:
Sub Legende()
Dim objCht As Chart, objSerCol As SeriesCollection, objSer As Series
Dim oDic As Object, oDoppelt As Object, i As Integer, arrKeys
Set oDic = CreateObject("Scripting.dictionary")
Set oDoppelt = CreateObject("Scripting.dictionary")
Set objCht = ActiveSheet.ChartObjects(1).Chart
Set objSerCol = objCht.SeriesCollection
'Legende wiederherstellen
objCht.HasLegend = False
objCht.HasLegend = True
'Doppelte Reihennamen suchen
For Each objSer In objSerCol
i = i + 1
If oDic.exists(objSer.Name) Then
oDoppelt(i) = 0
Else
oDic(objSer.Name) = 0
End If
Next
arrKeys = oDoppelt.keys
For i = UBound(arrKeys) To 0 Step -1
objCht.Legend.LegendEntries(arrKeys(i)).Delete
Next
End Sub

Gruß
Rudi

Anzeige
AW: Legendeneinträge löschen
07.04.2016 13:09:59
Kah
Super, funktioniert perfekt! Danke dir!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige