Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Diagramm soll Daten selbstständig auswählen
#1
Hallo,

ich bin neu hier und tüftel gerade an folgendem Problem:

Ich habe zwei Spalten in denen berechnete Werte stehen (Reiter "Wertetabelle" Spalten L und M). In Spalte L sinken die Werte und in Spalte M steigen die Werte.
Um den Schnittpunkt der resultierenden Kurven zu erhalten habe ich den Betrag der Differenz als Spalte N geschrieben. Der Wert an dem N minimal ist (ja theoretisch muss er = 0 sein) ist der Schnittpunkt der beiden Kurven.
Nun möchte ich die beiden Kurven auch Grafisch mit einem Liniendiagramm darstelen.
Das Problem: Relevant sind für mich ja nur der Minimalwert/schnittpunkt und die z.B. 50 Werte davor und dahinter. Da der Schnittpunkt aber abhängig von sehr vielen Vorgabewerten immer an unterschiedlichen Positionen der Gesamttabelle steht, weiß ich nicht wie ich der Grafik die Werte eingeben kann.

Vlt hat da jemand eine Idee.

Danke im Voraus.

Gruß
Nils
Top
#2
Hallo

meinst du das so?


Das Diagramm ist auf einem eigenen Blatt, welches aktiv ist.

Code:
Sub Chart_Von_Bis()
    Dim TB As Worksheet, Sp As Integer, Schnitt As Double, Zeile As Long, Weite As Integer, UWert, OWert
  
    Set TB = Sheets("Tabelle1")
    Sp = 14 'Differenz in Spalte N
    Weite = 2
  
    'Kleinster positiver Wert in Nähe des Schnittpunktes
    Schnitt = WorksheetFunction.MinIfs(TB.Columns(Sp), TB.Columns(Sp), ">0")
  
    'befindet sich in Zeile
    Zeile = WorksheetFunction.Match(Schnitt, TB.Columns(Sp), 0)
  
  
    'unterster und oberster Wert im Abstand der Weite
    UWert = TB.Cells(Zeile, Sp).Offset(-Weite, -3)
    OWert = TB.Cells(Zeile, Sp).Offset(Weite, -3)
  
    With ActiveChart.Axes(xlCategory)
        .MinimumScale = UWert
        .MaximumScale = OWert
    End With
End Sub


LG UweD
Top
#3
Guten Morgen Uwe,

Das Diagramm muss nicht auf einem eigenen Blatt sein, kann aber.

ist das VBA Code? Damit kenne ich mich überhaupt nicht aus. Benutzt VBA Makros? wenn ja geht das eh nicht, weil wir von der IT Makros deaktiviert bekommen haben.


Gruß
Nils
Top
#4
Hallo Nils,

ist zwar nicht Antwort auf Deine Frage, aber vielleicht hilft Dir folgende Formel.

Sie interpoliert den Schnittpunkt:

Wenn die Datenwerte in Spalte L und M liegen, dann schreibe in Zeile 8 einer anderen Spalte Deiner Wahl diese Formel:
=WENN(((M7-L7)/(L8+M7-M8-L7)<=1)*((M7-L7)/(L8+M7-M8-L7)>0);L7+(M7-L7)/(L8+M7-M8-L7);"")

und kopiere sie über diese Spalte.

Wenn zwischen dieser Zeile und der Zeile darüber der Schnittpunkt liegt, wird der resultierende Wert angezeigt, sonst leer.

LG
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste