Shapes

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von VBA.Neuling.

    Guten Abend bzw. morgen alle zusammen.

    Ich hab da mal eine frage. Ich will den Diagramm rahmen eines Diagramms entfernen. Bei dem Diagramm handelt es sich nicht um ein eingebettetes Diagramm sonder hat es ein eigenes Blatt.

    Mit Makrorecorder kommt das hier raus:


    Sub Makro10()
    '
    ' Makro10 Makro
    '

    '
    ActiveSheet.Shapes("Diagramm 1").Line.Visible = msoFalse
    End Sub


    wenn ich das nun in meinen Quelltext des Programms einbaue komt aber eine Fehlermeldung:
    vba ungültiger prozeduraufruf oder ungültiges Argument. Ich komm da nicht hinter wie ich diesesn Fehler beseitigen soll.

    Könnt ihr mir helfen?

    gruß

    VBA.Neuling schrieb:

    Visual Basic-Quellcode

    1. ActiveSheet.Shapes("Diagramm 1").Line.Visible = msoFalse

    Visual Basic-Quellcode

    1. Sheets("Diagramm1").Shapes("Diagramm 1").Line.Visible = msoFalse
    ggf. anpassen, falls dein Diagramm-Sheet anders heisst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Danke für die schnelle Antwort petaod,

    ich habe dem chart vorher noch nen Namen gegeben

    ActiveChart.Name = "Diagramm"

    und dann

    Sheets("Diagramm").Shapes("Diagramm").Line.Visible = msoFalse

    dadrunter geschrieben. Aber er zeigt mir immer noch das selbe Problem an.
    Dabei ist mir aufgefallen, dass wenn ich den editor öffne, das Programm bei jedem neuen Diagram das ich erstelle hochzählt.
    (Das alte Diagramm wird vorher noch gelöscht.)

    Diagramm3 (Diagramm)... Diagramm4 (Diagramm)...


    wie kann ich das berücksichtigen, damit mir bei jedem neuen Diagramm der Rand des Diagramms ausgeblendet wird ?

    Gruß
    Versuchs mal mit

    Visual Basic-Quellcode

    1. Sheets("Diagramm").ChartArea.Format.Line.Visible = msoFalse

    Dabei ist mir aufgefallen, dass wenn ich den editor öffne, das Programm bei jedem neuen Diagram das ich erstelle hochzählt.
    Die Bezeichnung des Sheet-Objekts zählt hoch.
    Die Name-Eigenschaft kannst du jedoch selbst bestimmen (ActiveSheet.Name="blabla")
    Mit diesem Namen kannst du es in der Sheets-Collection ansprechen.
    Die Variante

    Visual Basic-Quellcode

    1. ActiveSheet.Name = "Diagramm"
    2. Sheets("Diagramm").ChartArea.Format.Line.Visible = msoFalse
    sollte also immer gelingen.

    Oder, wenn du dir sicher bist, dass du gerade das ActiveSheet bearbeitest:

    Visual Basic-Quellcode

    1. ActiveSheet.ChartArea.Format.Line.Visible = msoFalse
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --