Hinzufügen von neuen Diagrammen durch VBA

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von petaod.

    Hinzufügen von neuen Diagrammen durch VBA

    Hallo,
    folgendes Problem:Ich habe ein Tool über Excel erstellt um spezielle Diagramme automatisiert (mit VBA) zu erstellen und in das dementsprechende Arbeitsblatt einzubetten. Ich möchte jedoch ein weiteres neues Diagramm hinzufügen und diese neben dem vorherigen Diagramm in demselben Arbeitsblatt einfügen. Ich habe bereits es so eingestellt, dass neue Tabellen untereinander erzeugt werden, damit das ursprüngliche Diagramm nicht überschrieben/verändert wird. Jedoch schaffe ich es nicht, dass das neue Diagramm in einem schönem Raster eingeteilt wird, damit diese Reihen von Diagrammen nur noch ausgedruckt werden können.

    Visual Basic-Quellcode

    1. Option Explicit
    2. 'Diagrammformatierungseinstellungen
    3. Sub DiagrammTYPI()
    4. 'Befehl: falls ein Laufzeitfehler oder ein Syntaxfehler bei Codierung auftritt
    5. On Error GoTo Fehlerverarbeitung
    6. 'Variable für das Diagramm definieren
    7. Dim MeinDiagramm As Chart
    8. 'Variable für den Rahmen definieren
    9. Dim Rahmen As ChartObject
    10. 'Rahmen erzeugen
    11. Set Rahmen = ThisWorkbook.Worksheets("Typ I").ChartObjects.Add(0, 100, 450, 340)
    12. 'Diagramm dem Rahmen zuweisen
    13. Set MeinDiagramm = Rahmen.Chart
    14. 'Werte aus dem Tabellenblatt in das Diagramm einlesen
    15. MeinDiagramm.SetSourceData Worksheets("Flächendiagrammtabelle").Range("A27:J32")
    16. 'Rahmen erzeugen
    17. Set Rahmen = ThisWorkbook.Worksheets("Typ I").ChartObjects(1)
    18. 'Diagramm dem Rahmen zuweisen
    19. Set MeinDiagramm = Rahmen.Chart
    20. 'Diagramm bearbeiten: Diagrammtyp anpassen
    21. MeinDiagramm.ChartType = xlSurface
    22. 'Titel ändern
    23. MeinDiagramm.HasTitle = True
    24. MeinDiagramm.ChartTitle.Text = "3D-Flächendiagramm"
    25. 'Achsenbeschriftung für die X-Achse
    26. With MeinDiagramm.Axes(xlCategory)
    27. .HasTitle = True
    28. .AxisTitle.Text = "Raumtiefe [m]"
    29. End With
    30. 'Achsenbeschriftung für die Y-Achse
    31. With MeinDiagramm.Axes(xlValue)
    32. .MinimumScale = 0
    33. .MaximumScale = 15000
    34. End With
    35. 'Achsenbeschriftung für die Z-Achse
    36. With MeinDiagramm.Axes(xlSeries)
    37. .HasTitle = True
    38. .AxisTitle.Text = "Raumbreite [m]"
    39. End With
    40. Exit Sub
    41. Fehlerverarbeitung:
    42. 'Programm wird bei einem Fehler beendet
    43. MsgBox "Ein Fehler ist in der Codierung aufgetreten. Programm beenden"
    44. End Sub


    Ich hoffe jemand kann mir dabei helfen

    Viele Grüße
    y.p

    *Topic verschoben, Code-Tag eingefügt*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „y.p“ ()