Microsoft Excel

Herbers Excel/VBA-Archiv

Charts mit VBA verändern

Betrifft: Charts mit VBA verändern von: Thomas
Geschrieben am: 19.08.2004 10:02:57

Hi! Ich habe eine VBA-routine in Sheet(2) und möchte damit auf die Charts von Sheet(1) zugreifen. Graphics ist der Name vom Sheet(1).

Ich kann zwar die Grafiken verändern, bei der Ausrichtung jedoch orientiert sich VBA an den Zellabständen von Sheet(2). Wie kann ich es ändern, dass die Zellenabstände von Sheet(1) herangezogen werden, OHNE auf dieses zu wechseln?
Oder kann man eine Sub auch von einem anderen Worksheet aus aufrufen? Wenn ja, wie?

lg, thomas

Private Sub ViewAll()

    With Sheets("Graphics")
    
        With .Shapes("Chart 4")
            .Left = Range("B6").Left
            .Top = Range("B6").Top
            .Height = 154
            .Width = 540
        End With
        
        With .Shapes("Chart 5")
            .Left = Range("L6").Left
            .Top = Range("L6").Top
            .Height = 153
            .Width = 267
        End With
        
        With .Shapes("Chart 10")
            .Left = Range("G26").Left
            .Top = Range("G26").Top
            .Height = 328
            .Width = 267
        End With
        
        With .Shapes("Chart 9")
            .Left = Range("L26").Left
            .Top = Range("L26").Top
            .Height = 328
            .Width = 267
        End With
    End With
End Sub

  


Betrifft: AW: Charts mit VBA verändern von: Thomas
Geschrieben am: 19.08.2004 10:24:23

Hat sich schon erledigt. Mich würde aber trotzdem noch interessieren wie/ob man eine Sub aus einem anderen Worksheet aufrufen kann? Wie sieht der Aufruf aus? wie muss ich die Sub definieren? Danke!


  


Betrifft: AW: Charts mit VBA verändern von: GerdZ
Geschrieben am: 19.08.2004 13:52:44

Hallo Thomas,

der Aufruf erfolgt mit
[CodeName der Tabelle].[Name des Makros]
oder
Sheets("[BlattName der Tabelle]").[Name des Makros]
oder
Sheets([BlattNummer der Tabelle]).[Name des Makros]
z.B.
Tabelle1.MakroName
Sheets("Graphics").MakroName
Sheets(1).MakroName

Das Makro darf dabei nicht als Private deklariert sein.

Gruß
Gerd