Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

ID für Diagrammtyp?

Forumthread: ID für Diagrammtyp?

ID für Diagrammtyp?
Alex
Hallo!
Ich habe ein Makro aufgezeichnet, in dem ich den Diagrammtyp "Linie- Säule auf zwei Achsen" verwende. Nun soll die Datei aber weltweit verschickt werden. Mit einem englischsprachigen Excel erkennt er nun aber den Diagrammtyp nicht. Hier müsste es ja "Line - column 2 axes" heißen. Meine Frage ist nun, kann ich in dem Makro eine Art "ID" des Diagrammtyps ansprechen, der sprachunabhängig ist?
Danke schon mal!
Alex
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ID für Diagrammtyp?
19.10.2009 15:55:26
Nepumuk
Hallo,
das ist doch ein selbstdefinierter Diagrammtyp. Den gibt es nur auf deinem Rechner. Schau mal in den Objektkatalog nach xlChartType, da wirst du so etwas nicht finden.
Gruß
Nepumuk
AW: ID für Diagrammtyp?
19.10.2009 17:20:31
Alex
Hallo Nepumuk,
aber das ist doch ein integrierter benutzerdefinierter Diagrammtyp. Der ist doch voreingestellt von Excel. Gibt es dafür wirklich keine Konstante?
Anzeige
Alternative : 2.Datenreihe auf Sekundärachse
19.10.2009 16:40:27
NoNet
Hallo Alex,
da hat Nepumuk Recht : Da es sich um einen "benutzerdefinierten" Diagrammtyp handelt, ist dieser leider nicht als Konstante hinterlegt.
Allerdings könntest Du ja auch z.B. ein "gewöhnliches" Linien-Diagramm aus 3 Spalten erstellen und dann die 2. Datenreihe nachträglich auf die Sekundärachse "verschieben".
Als VBA-Code formuliert sieht das dann z.B. so aus :
VBA-Code:
Sub DiagrammLinieSaeuleAuf2Achsen()
    'Erstellt ein Liniendiagramm aus 2 Spalten und "verschiebt" die 2. Datenreihe auf die Sekundärachse :
    Dim strShName As String, rngBereich As Range
    strShName = ActiveSheet.Name 'Name des aktuellen Tabellenblattes sichern
    Set rngBereich = Sheets(strShName).Range("D1:F21") 'Datenbereich bitte anpassen !
    With Charts.Add
        .SetSourceData Source:=rngBereich, PlotBy:=xlColumns
        .SeriesCollection(1).XValues = "='" & strShName & "'!" & _
            rngBereich.Offset(1).Resize(rngBereich.Rows.Count - 1, 1).Address(1, 1, xlR1C1)
        .ChartType = xlLineMarkers                              'Diagrammtyp : Linien mit Punkten
        .HasDataTable = False
        .SeriesCollection.NewSeries                             'Neue Datenreihen hinzufügen
        With .SeriesCollection(2)                               '2.Datenreihen definieren :
            .XValues = "='" & strShName & "'!" & _
                rngBereich.Offset(1, 0).Resize(rngBereich.Rows.Count - 1, 1).Address(1, 1, xlR1C1)
            .Values = "='" & strShName & "'!" & _
                rngBereich.Offset(1, 1).Resize(rngBereich.Rows.Count - 1, 1).Address(1, 1, xlR1C1)
            .Name = "='" & strShName & "'!" & _
                rngBereich(2, 2).Address(1, 1, xlR1C1)
        End With
        .Location Where:=xlLocationAsObject, Name:=strShName    'Als Objekt in aktuellem Tabellenblatt
    End With
    '2. Datenreihe auf Sekundärachse "verschieben"
    ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2).AxisGroup = 2
End Sub
Gruß, NoNet
@NoNet
Herbert

hast du meine e-mail vom letzten mittwoch nun auch wieder nicht bekommen?
sorry alex, ich bitte um nachsicht! ;o)=)
gruß herbert
Anzeige
@NoNet
19.10.2009 18:48:26
Herbert
hast du meine e-mail vom letzten mittwoch nun auch wieder nicht bekommen?
sorry alex, ich bitte um nachsicht! ;o)=)
gruß herbert
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18