Bereich in Datenquelle Diagramm ändern



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Bereich in Datenquelle Diagramm ändern
von: Urs
Geschrieben am: 25.05.2002 - 10:02:15

Guten Morgen

Wie kann ich in einem Diagramm die Datenquelle wechseln.

Als erstes muss ich eine Datenquelle im Blatt Statistik sortieren und dann die letzte letzte Spalte der Zeile 2 die nicht leer ist in der Datenquelle des Diagramms ändern.

Ich füge Euch meine 3 kurzen Makros an. Wie setze ich die zusammen, damit ich ans Ziel komme. Das Makro letzte Zelle funktioniert nicht.


Range "A1:E3") E3 ist zu ändern

Anbei noch meine Makros


Sub Sortierung()
'
' Sortierung Makro
'
    Sheets("Statistik").Select
    Columns("B:Z").Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight
End Sub
Sub LetzeZelle()
'Letzte Zelle der Zeile 2
'
'
Cells(2, Columns, Count).End(xlToLeft).Column
End Sub
Sub Datenquelle_ändern()
'
' Datenquelle_ändern Makro
'
    ActiveChart.SetSourceData Source:=Sheets("Statistik").Range("A1:E3"), PlotBy _
        :=xlRows
End Sub

Vielen Dank und ein schönes Wochende

Gruss

Urs

nach oben   nach unten

Re: Bereich in Datenquelle Diagramm ändern
von: WernerB.
Geschrieben am: 25.05.2002 - 11:04:48

Hallo Urs,

ich hoffe, Dich richtig verstanden zu haben:


Option Explicit
Sub Sortierung()
Dim laC As Integer
    Sheets("Statistik").Select
    Columns("B:Z").Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight

    laC = Cells(2, Columns.Count).End(xlToLeft).Column

    ActiveChart.SetSourceData Source:=Sheets("Statistik"). _
      Range(Cells(1, 1), Cells(3, laC)), PlotBy:=xlRows
End Sub


Viel Erfolg wünscht
WernerB.
nach oben   nach unten

Re: Bereich in Datenquelle Diagramm ändern
von: Urs
Geschrieben am: 25.05.2002 - 15:26:24

Hallo Werner

Zuerst einmal vielen herzlichen Dank für die Hilfe. Ihr seit wirklich genial und finde es absolut toll wie ihr Euch die Zeit nimmt um uns weiter zu helfen.

Nun zu meinem Problem. Wenn ich das Makro ausführe bekomme ich die Fehlermeldung bei der Zeile AcitveChart: Objektvariable oder With-Blockvariable nicht festgelegt. Ich habe mir das Makro angeschaut bin aber auf nichts gestossen. Wahrscheinlich seht ihr das auf einen Blick.

Vielen Dank für Deine/Eure Hilfe

Urs

nach oben   nach unten

Re: Bereich in Datenquelle Diagramm ändern
von: WernerB.
Geschrieben am: 25.05.2002 - 16:40:18

Hallo Urs,

bislang hatte ich noch keine Erfahrungen in der Bearbeitung von Diagrammen mit Makros. Nun habe ich ein wenig herumprobiert; hier folgt das Ergebnis.

Die Bezeichnung "Diagramm 1" musst Du durch die bei Dir gültige Diagramm-Bezeichnung ersetzen.
Solltest Du diese nicht kennen, kannst Du sie u.a. so ermitteln:

1. Starte den Makro-Recorder.
2. Klicke auf eine beliebige Zelle.
3. Klicke auf das betreffende Diagramm.
4. Beende die Makro-Aufzeichnung.
5. In dem gerade aufgezeichneten Makro sollte die Diagramm-Bezeichnung enthalten sein.


Option Explicit
Sub Sortierung()
Dim ZeA As String
Dim laC As Integer
    Sheets("Statistik").Select
    Columns("B:Z").Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight

    laC = Cells(2, Columns.Count).End(xlToLeft).Column
    ZeA = Cells(3, laC).Address(False, False)

    ActiveSheet.ChartObjects("Diagramm 1").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SetSourceData Source:=Sheets("Statistik"). _
      Range("A1:" & ZeA), PlotBy:=xlRows
End Sub


Grüezi und viel Erfolg wünscht
WernerB.
nach oben   nach unten

Re: Bereich in Datenquelle Diagramm ändern
von: Urs
Geschrieben am: 25.05.2002 - 17:36:53

Hallo Werner

Vielen Dank das Makro läuft jetzt sauber durch musste nur noch die Zeile:

ActiveSheet.ChartObjects("Diagramm 1").Activate

durch

Sheets("Diagramm").Select

ersetzten. Das Diagramm ist nicht in einer Tabelle sondern ist ein eigenes Tabellenblatt.

Etwas habe ich bei der Zeile für die letzte Zelle unterschlagen. Es nimmt mir nun alle Zellen bis AX, denn diese sind mit Formeln gefüllt. Das heisst es darf nur die Zellen nehmen die einen Wert grösser 0 haben. Ich nehme an das, dies in der Zeile eingefügt werden kann.

etwa so...
laC = Cells(2, Columns.Count)grösser0.End(xlToLeft).Column

nur wie lautet die syntax.

Ich hoffe du hast irgendwann auch Wochenende, trotzdem vielen Dank für Deine Hilfe.

Gruss

Urs

nach oben   nach unten

Re: Bereich in Datenquelle Diagramm ändern
von: WernerB.
Geschrieben am: 25.05.2002 - 17:53:16

Hallo Urs,

dann versuchen wir es eben so:


Option Explicit
Sub Sortierung()
Dim ZeA As String
Dim As Integer, laC As Integer, laC1 As Integer
    Sheets("Statistik").Select
    Columns("B:Z").Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight

    laC1 = Cells(2, Columns.Count).End(xlToLeft).Column
    For i = laC1 To Step -1
      If Cells(2, i).Value > 0 Then
        laC = i
        Exit For
      End If
    Next i
    ZeA = Cells(3, laC).Address(False, False)

    Sheets("Diagramm").Select
    ActiveChart.PlotArea.Select
    ActiveChart.SetSourceData Source:=Sheets("Statistik"). _
      Range("A1:" & ZeA), PlotBy:=xlRows
End Sub


Grüezi und viel Erfolg wünscht
WernerB.
nach oben   nach unten

Re: Bereich in Datenquelle Diagramm ändern
von: Urs
Geschrieben am: 25.05.2002 - 18:02:39

Hallo Werner

Jetzt hat es funktioniert. Vielen herzlichen Dank.

Gruss aus Schweiz

Urs


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Bereich in Datenquelle Diagramm ändern"