Datenreihe splitten, na wie gehts denn?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: Datenreihe splitten, na wie gehts denn?
von: Michael Noisternig
Geschrieben am: 13.10.2003 13:49:24

Liebe Ng,
ich möchte eine Datenreihe in einem Diagramm in mehrere Datenreihen
aufspalten, sodass ich diese einzelnen Kurven verschiedenfärbig darstellen
kann. Es ist ein umfangreiches Projekt, daher favorisiere ich einen Lösung
mit VBA.

Status quo:
(nur so als Denkansatz, ich komme auch nicht mehr weiter...)


Sub SplitCurve()
'Versuch eine Datenreihe zu splitten, Rückgabe als Zelladressen (Range)
Dim Data()
Dim n, x As Byte
Dim LR As String
Dim Adresse()
'On Error GoTo Fehler
LR = Sheets(3).Cells(550, 12).End(xlUp).Row
n = InputBox("Please type a number which is the splitting factor.")
ReDim Data(n)
ReDim Adresse(n) As Variant
Range(Cells(50, 12), Cells(LR, 12)).Interior.ColorIndex = 6
Sheets(3).Select
For x = 1 To n
    Data(x) = Application.InputBox("Please mark the first point of the " &
Chr(13) & Chr(13) & x & ". curve.")
MsgBox ActiveCell.Address
Next
Range(Cells(50, 12), Cells(LR, 12)).Interior.ColorIndex = 0
Exit Sub
Fehler:
MsgBox "Error"
Range(Cells(50, 12), Cells(LR, 12)).Interior.ColorIndex = 0
End Sub


Vielleicht kann mir da jemand auf die Sprünge helfen.

--
Excel 2000, Win98SE

Gruß, Michael
Bild


Betrifft: Ein Ansatz
von: Reinhard
Geschrieben am: 14.10.2003 04:18:32

Hi Michael,
probier das Nachfolgende.
Gruß
Reinhard

Sub Michael()
    Dim lae As Long
    Dim Bereich1 As String
    Dim Bereich2 As String
    Dim Bereich3 As String
    Dim n As Long
    For n = 1 To 30 'daten erzeugen
        Worksheets("Tabelle1").Cells(n, 1) = Int(Rnd * 501)
    Next n
        lae = InputBox("Länge") 'bei 30 Datensätzen machen Eingaben von 3,5,6,10 Sinn
        If Str(lae) = "" Then Exit Sub
        Anzahl = Int(30 / lae)
        For n = 1 To Anzahl
            Bereich1 = "A" & (n - 1) * lae + 1 & ":A" & n * lae
            Bereich2 = Chr(n + 64) & 1
            Sheets("Tabelle1").Range(Bereich1).Copy _
                Destination:=Sheets("Tabelle2").Range(Bereich2)
        Next n
        Bereich3 = "A1:" & Chr(Anzahl + 64) & lae
        Charts.Add
        With ActiveChart
            .ChartType = xlLineMarkers
            .SetSourceData Source:=Sheets("Tabelle2").Range(Bereich3) _
            , PlotBy:=xlColumns
            .Location Where:=xlLocationAsObject, Name:="Tabelle1"
        End With
End Sub



 Bild

Beiträge aus den Excel-Beispielen zum Thema " Datenreihe splitten, na wie gehts denn?"