Wie kann ich in Exel den Höchstwert einer Zelle festhalten?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Eine Formellösung dazu fällt mir im Moment leider auch nicht ein. Ich will aber nicht behaupten, dass sie nicht möglich ist.
Anzubieten hätte ich diesen VBA-Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If Target.Value < Range("B1").Value Then Range("B1").Value = Target.Value
If Target.Value > Range("C1").Value Then Range("C1").Value = Target.Value
End If
End Sub

(Einfach einen Rechtsklick auf den Tabellenreiter (unten, wo z.B. Tabelle1 steht) machen, dann auf "Code anzeigen". Diesen Code in den leeren Bereich des VBA-Editors kopieren, der sich dann öffnet.)
In B1 wird das MIN und in C1 das MAX angezeigt.
Zu Beginn der "Testreihe" muss in B1 ein Wert eingetragen werden, der größer ist, als der Startwert in A1 (da Excel den Wert der leeren Zelle B1 mit 0 annimmt).
Das ließe sich evtl. noch optimieren. Sage aber erst einmal Bescheid, ob das eine Lösung für Dich wäre.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Excel ist wie das Meer: die Welle mag noch so hoch sein, festhalten kannst Du sie nicht.

Halte Dich an Oubyis Makrolösung, die ist gut.

Auf ähnliche Weise könnte man auch eine Liste anfertigen, indem bei jeder Eingabe der neue Wert in einer neuen Zelle angehängt wird, sozusagen ein Werte-Protokoll über die Zeit (die man sogar daneben schreiben lassen könnte).


augsburgchris  12.08.2011, 09:26

Doch klar geht das. Über einen Zirkelbezug.

0
Iamiam  12.08.2011, 11:12
@augsburgchris

und wie, wenn es nicht schon nach dem ersten Eintrag überhaupt blockieren soll? keine Ahnung, was Dir da vorschwebt ? ah, hab grad deine Antwort gesehen, muss ich mir erst reinziehen!

0

Vom Verständnis der Sache her glaube ich nicht, daß das so geht. Das Maximum muß dokumentarisch irgendwo jederzeit ablesbar sein.

Regelmässig sich ändernde Werte hält kein Programm derart fest.

Dazu müßtest du extra wieder eine Tabelle anfertigen, in der zu jedem gemessenen Zeitpunkt jeder Wert enthalten ist. Und dann das Maximum abfragen. Aber weiter kann ich keine detaillierte Auskunft geben. :)


oddseta 
Beitragsersteller
 11.08.2011, 22:38

Das es gehen muß weiss ich, aber nicht wie. Ganz konkretes Beispiel: In der Wettsoftware von "BetAngel" wird die aktuelle Quote eines Pferdes in einem Pferderennen angezeigt. In der Spalte daneben die höchste erreichte Quote und in der dritten Spalte die niederichste Quote. Die Software beruht auf Exel.

0
GFliebtDich  11.08.2011, 22:43
@oddseta

Dazu brauchst du ausgeblendete Spalten oder Tabellen. Du siehst nur das Maximum. Aber dahinter steht versteckt die Tabelle von der ich oben sprach.

0

Stelle die Berechnung auf Manell und die Iteration auf 1.

A2: =MAX(A1;A2)

Manuelles Neuberechnen mit F9.


Iamiam  12.08.2011, 11:35

wenn das bei Dir geht, verhalten sich die Versionen unterschiedlich. Mein xl2003 (2010 geht grad nicht) bringt da erst mal Zirkelbezug, wenn ich den wegklicke, reagiert es auch nicht mehr auf F9. öffne ich die Zelle und geh wieder auf Eingabe, übernimmt mir die Funktion komischerweise den Wert in A1, auch wenn er kleiner ist.
(übrigens auch, wenn ich A2 nach A3 kopiere!) Die ganze Aktion bewirkt aber einen Fehler in xl, (zB wird der Cursor-Rahmen irgendwohin versetzt, zwischen Zellgrenzen. xl "muss geschlossen werden". Nach dem Wiederöffnen von xl und Datei genau das Gleiche)

ist das bei Dir anders?

0
augsburgchris  12.08.2011, 16:02
@Iamiam

Also ich hab's gerade in 2007 probiert, da muss man nicht mal auf manuell schalten. Unter Optionen-Formeln-Iterative Berechnungen einschalten. Iteration auf 1. Klappt wunderbar mit meiner angegeben Formel. In A2 steht immer der höchste Wert der in A1 je eingetragen wurde. Auch nach Speichern und Schließen.

0