Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

MAX MIN berechnen ohne circle bezug
#11
Hallo Edgar,

dann setze ich mal ein paar Zeichen 100

Wenn ich anschließend in K6, bei 0 in Z6, eine andere Zahl >0 eingebe
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#12
Hi,

um das eigentliche Problem anzugehen: Deine Vorgehensweise ist nicht vernünftig.

Wenn du etwas protokollieren willst, dann schreib jeden Wert jeweils eine eigene Zeile. Damit kannst du dann alles nachvollziehen. Was ist z.B., wenn du aus Versehen in K6 mal 0 statt 9 eingibst? Dann bleibt die 0 als Minimum stehen und du kannst es nicht korrigieren. Willst du das?
Vor allem ist es doch unsinnig, da du nicht weißt, wann und wie oft der Wert erreicht wurde. Ebenso weißt du nicht, ob es ein Ausreißer war, oder es noch mehr ähnliche Werte gibt.

Wenn du dennoch darauf bestehst, immer nur einen Wert zu haben und von dem in einer anderen Zelle den niedrigsten oder höchsten Wert, dann geht das nur über VBA.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("K6")) Is Nothing Then
    With Range("K6")
        If .Value < Range("Z6") Then Range("Z6") = .Value
    End With
End If
End Sub
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#13
ja, das ist eben die Frage ob man das mit VBA umgehen kann, das er es neu berechnen will danach.

(11.11.2022, 13:13)HKindler schrieb: Hi,

um das eigentliche Problem anzugehen: Deine Vorgehensweise ist nicht vernünftig.

Wenn du etwas protokollieren willst, dann schreib jeden Wert jeweils eine eigene Zeile. Damit kannst du dann alles nachvollziehen. Was ist z.B., wenn du aus Versehen in K6 mal 0 statt 9 eingibst? Dann bleibt die 0 als Minimum stehen und du kannst es nicht korrigieren. Willst du das?
Vor allem ist es doch unsinnig, da du nicht weißt, wann und wie oft der Wert erreicht wurde. Ebenso weißt du nicht, ob es ein Ausreißer war, oder es noch mehr ähnliche Werte gibt.

Wenn du dennoch darauf bestehst, immer nur einen Wert zu haben und von dem in einer anderen Zelle den niedrigsten oder höchsten Wert, dann geht das nur über VBA.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("K6")) Is Nothing Then
    With Range("K6")
        If .Value < Range("Z6") Then Range("Z6") = .Value
    End With
End If
End Sub

danke fuer die hilfe.
ich habe vielleicht nicht genau genug die datenquelle erklaert. in K6 befinden sich automatisch staendig aktualsierende kursdaten von einigen aktien, die also entweder 0 sind wenn Fehler uebermittelt oder irgendwas gravierendes nicht stimmt oder einen wert ueber null enthalten.
also sind immer groesser null wenn nicht mega fehler, der noch nie kam.

in z6 will ich berechnen, ab wenn ich excel starte und die kurse bekomme, was war ab diesen zeitpunkt der kleinste wert (beziehungsweise der groesste wert in einer weiteren Zelle). das funktoniert , geht aber leider auf die performance ganzschoen. ich habe iteration auf 1 gesetzt und einen sehr hohen wert eingetragen, das er es fast nie neu berechnet. aber es gibt trotzgibt trotzdem immer wieder minifreezes wo excel wegen berechnung nicht benuztbar. 
wuerde genau das mit deinem vba script besser gehen und iteration ausstellbar?

falls ich irgendwas dummes sage verzeiht die unwissenheit, ich rede eben von meinem wissensstandpunkt aus, und bestimmt weiss fast jeder hier der hilft die genaueren begriffe und wege.
Antworten Top
#14
Hi,



wenn es nur darum geht, den kleinsten Wert aus K6 in Z6 zu speichern, dann reicht das:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("K6")) Is Nothing Then Exit Sub
If Range("Z6") = 0 Or Range("K6") < Range("Z6") Then Range("Z6") = Range("K6")
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#15
Hi,

bitte keine FullQuotes, erst recht nicht von Antworten direkt über der eigenen Antwort!
(11.11.2022, 16:35)Sultaner schrieb: in K6 befinden sich automatisch staendig aktualsierende kursdaten von einigen aktien,
Von mehreren Aktien in einer Zelle? Das glaube ich nicht!

Und wie werden diese Daten aktualisiert? Wäre es nicht sinnvoll da anzusetzen?

Deine Mini-Einfrierungen kommen ganz sicher nicht von deiner Formel. Wahrscheinlich stammen sie aus der Abfrage.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#16
noch als zusatz.

deine ideen sind super mit mehr protokollieren. und wuerde sinn machen jeden wert speichern, waeren dann nur tausende werte je aktie, also jeder neue kurs.
mir reicht eigentlich dieser eine wert, weil ich ja jederzeit auch in den charts die restlichen werte ablesen kann.
dieser wert in Z6 ist mehr als kontrollwert gedacht, da handelsstrategien oft backups und sicherheitskontrollen brauchen, da immer mal was falsch gesendet werden kann vom broker.

nein, pro zelle ist eine einzelne aktie natuerlich. und davon 20 stueck. die kursdaten werden ueber broker add in (api ) integriert.

ich teste dein script mal heute abend,kann ich dann iteration ausschalten oder schadet nie anzulassen?

muss ich das vba script irgendwie aufrufen , oder wird das jedes mal wenn K6 sich aendert erneut einmalig aktiviert automatisch?

bisher habe ich immer nur event bassierte vba gehabt, wie makros, deshalb klingt das bestimmt gerade wie eine dumme frage  Huh

danke wirklich fuer die hilfe
Antworten Top
#17
Hi,

Ich kenne dieses addin nicht. Wenn damit die Zelle K6 beschrieben wird (dort also keine Formel steht), dann funktioniert mein Makro einfach so - solange es im Code-Modul des betreffenden Tabellenblatts steht.
Wenn du mehr Zellen überwachst, dann solltest du es allerdings anders schreiben:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Dim Zelle As Range
Set Bereich = Intersect(Target, Range("K6:K26"))    'Range anpassen
If Not Bereich Is Nothing Then
    For each Zelle in Bereich
        With Zelle
            If .Value < .Offset(, 15) And .Value > 0 Then .Offset(, 15) = .Value
        End With
    Next Zelle
End If
End Sub
ungetestet!
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


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