Daten übergabe klappt nicht

Bild

Betrifft: Daten übergabe klappt nicht von: Martin
Geschrieben am: 27.03.2005 22:57:18

Hallo zusammen
ich doktor jetzt schon knapp ne Woche an einem Diagrammproblemherum.
Mittlerweile auf immer neuen Wegen, aber jeder bisher endet in einer Sackgasse.

Ich habe mal eine Beispieldatei angehängt: mein Problem: ich will die Daten von dem Blatt in ein DIagramm schreiben. Aber als WERTE, nicht die Bezüge. Und, 2., dann kriege ich das nicht hin, bereich1 und bereich2 als ARRAY zu übergeben. Der Bereich, in der die Daten stehen, kann auch sehr lang werden. Wäre sehr nett, wenn mir jemand helfen könnte.
Danke gruß Martin

Bild


Betrifft: ok, hier der Code... von: Martin
Geschrieben am: 27.03.2005 23:05:10

..sorry, bin schon ziemlich groggi von der sache


Sub monats() 'masch As String, kwoche As Long, scol As Long, zcol As Long
' wochenausblender
  Application.ScreenUpdating = False
  Dim bereich1
  Dim bereich2
  bereich1 = Worksheets("zielblatt").Range("A2:A32")
  bereich2 = Worksheets("zielblatt").Range("B2:B32")
  diagramm_machen bereich1, bereich2
  
  Application.ScreenUpdating = True
  
End Sub



Sub diagramm_machen(a, b)
' das diagramm für eine enzelne Woche
  Dim cht_benkw As ChartObject
  
  Set cht_benkw = Worksheets("zielblatt").ChartObjects.Add(200, 100, 400, 250)
  
  With cht_benkw
    .Name = "martine5"
'    .Chart.ChartType = xlLineMarkers
    .Chart.ChartType = xlXYScatterSmooth
  With .Chart
    .SeriesCollection.NewSeries
    .SeriesCollection(1).XValues = a
    .SeriesCollection(1).Values = b
    
'    .SeriesCollection(1).XValues = Worksheets("zielblatt").Range("A2:A32")
'    .SeriesCollection(1).Values = Worksheets("zielblatt").Range("B2:B32")
    .Legend.Delete
  End With
    .Name = "martine5"
'    .Chart.ChartType = xlLineMarkers
    .Chart.ChartType = xlXYScatterSmooth
  End With
  cht_benkw.Chart.SeriesCollection.NewSeries
  With cht_benkw.Chart.SeriesCollection(1)
    .XValues = Array(gae_datumy)
    .Values = Array(gae_wertex)
  End With
  
  Range("a1").Select
  Set cht_benkw = Nothing
End Sub



Bild


Betrifft: AW: ok, hier der Code... von: Nepumuk
Geschrieben am: 28.03.2005 08:43:08

Hallo Martin,

das Array das du übergibst, muss die richtige Struktur haben.

Beispiel:


Option Explicit

Sub diagramm_machen(a, b)
    Dim cht_benkw As ChartObject
    Set cht_benkw = Worksheets("zielblatt").ChartObjects.Add(200, 100, 400, 250)
    With cht_benkw
        .Name = "martine5"
        .Chart.ChartType = xlXYScatterSmooth
        With .Chart
            .SeriesCollection.NewSeries
            .SeriesCollection(1).XValues = a
            .SeriesCollection(1).Values = b
            .Legend.Delete
        End With
    End With
End Sub

Public Sub test()
    Dim x(10, 0), y(10, 0)
    Dim iIndex As Integer
    For iIndex = 0 To 9
        x(iIndex, 0) = iIndex ^ 2
        y(iIndex, 0) = iIndex * 2
    Next
    Call diagramm_machen(x, y)
End Sub


Gruß
Nepumuk


Bild


Betrifft: soweit ok, aber... von: Martin
Geschrieben am: 28.03.2005 11:12:06

Danke, Nepumuk
Der Code funktioniert soweit, aber das Ergebnis bleibt das Gleiche: will ich sehr viele Daten (A1:A1500) in ein Diagramm zeichnen, kommt Fehler 1004, das XValue nicht festgelegt werden kann. Wahrscheinlich, weil die 255 Zeichen in XValue voll sind. Wie kriege ich also knapp 1500WERTE in ein Diagramm?
Aber trotzdem danke, dass du dich am Ostern meinem Problem annimmst.
Gruß Martin & frohe Ostern


Bild


Betrifft: AW: soweit ok, aber... von: Nepumuk
Geschrieben am: 28.03.2005 11:44:50

Hallo Martin,

dann musst du ein Chartspace - Object aus den Office - Webkomponenten benutzen. Ich habe es gerade mal mit 10.000 Datenreihen getestet. Es dauert zwar ein bis zwei Sekunden, aber sie werden einwandfrei angezeigt.

Gruß
Nepumuk


Bild


Betrifft: ?? ahja.. von: Martin
Geschrieben am: 28.03.2005 12:25:08

Danke dir, Nepu
Habe mal eben ein wenig bei MSDN gelesen, kapiert habe ich das aber nicht. Heißt also, es gibtkeine einfachere Lösung, wie ich ein Diagramm aus einigen 100 Werten kreieren kann? Ja Wahnsinn, da kann ich ja das ganze Projekt kippen. Danke trotzddem. Gruß Martin


Bild


Betrifft: AW: ?? ahja.. von: Nepumuk
Geschrieben am: 28.03.2005 15:29:10

Hallo Martin,

ist nicht so schlimm wie es aussieht. Ich habe dir mal ein kleines Beispiel gemacht:

https://www.herber.de/bbs/user/20246.xls

Gruß
Nepumuk


Bild


Betrifft: ^öh.. von: Martin
Geschrieben am: 28.03.2005 15:58:12

Hallo Nepumuk
vielen Dank, dass du dir die Müh gemacht hast. VBA klappt an sich schon ganz gut, doch Diagramme und Array mache ich nu das erste ma.
Ich werde nun das ganz Projekt noch mal umstricken müssen. Hatte nicht gedacht dass das Diagramm das größte problem wird. deine Lösung werde ich mal durchgehen, aber sie wird wohl nicht in frage kommen. danke nochmal,... gruß Martin


 Bild

Beiträge aus den Excel-Beispielen zum Thema "While Schleife mit Doppeltem Abbruchereignis"