Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

5 höchsten werten markieren

5 höchsten werten markieren
10.05.2006 10:40:10
Darren
Hallo Leute,
ich habe eine Tabelle und in der Zelle B2 abwärts sind meine Ergenisse.
Dort sind unterschiedliche Zahlen die einen bestimmen Vorkommen aufgenommen haben, wie z.B. wie oft wurde ein Teil wie oft produziert/verkauft.
Gibt es ein Weg um alle Zellen durchzugehen, bis zum Ende, und dann soll er die 5 größten Zahlen mit der Hintergrund Farbe Rot markieren?
Grüße
Darren

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 5 höchsten werten markieren
10.05.2006 10:47:29
Dr.
Hi,
schau Dir in der Hilfe mal die Funktion KGRÖSSTE an. Die baust D dann in den entsprechenden Zellen per bedingter Formatierung ein.
AW: 5 höchsten werten markieren
10.05.2006 11:10:53
Darren
Hi,
ich habe es versucht, hat aber leider nciht geklappt:
Dim ergebnis As Integer
Sheets("Tabelle1").Select
erbegnis = KGRÖSSTE("A2:B30",5)
Kann jemand helfen?
Darren
Was genau?
10.05.2006 11:38:13
Klaus
Darren,
willst du die 5 größten nun rot einfärben oder selektieren?
Das dein Code Schreibfehler hat ("Erbegnis" s.i.c.) weisst du?
Wenn die Zellen rot gefärbt werden sollen, wozu dann VBA? Solange sie ausreichen, kann man sich noch auf die Excel Bordmittel stützen.
Wenn es in VBA sein muss, weil du in wirklichkeit etwas anderes willst als die Zellen rot zu markieren, warum hast du das dann nicht direkt gefragt?
Anzeige
AW: 5 höchsten werten markieren
10.05.2006 11:11:52
Klaus
Hey Dr,
schau mal auf Darren's Level - ich glaub kaum dass das weiter hilft ...
Darren,
markiere die Spalte B, clicke auf "Format - bedingte Formatierung", gib hier als Bedingung ein:
Userbild
Unter "format" das richtige Hintergrund-Rot auswählen nicht vergessen!
Klappts?
Gruß,
Klaus M.vdT.
AW: 5 höchsten werten markieren
10.05.2006 11:17:27
DArren
Hi Klaus M.vdT.,
kann man das auch in Excel-VBA machen?
Wie? Siehe mein Fehlversuch im zweiten Eintrag.
Grüße
Darren
5 höchsten werten ? wenn mehrere Gleich
10.05.2006 11:19:09
Arthur
Hallo.
Eine ähnliche Frage habe ich auch: Was, wenn in der Liste mehrere gleiche Werte sind? z.B. in der Wertereihe 1 2 3 3 4 wäre der zweite und dritte Wert aus der Funktion KGrösste eine 3. Eigentlich wollte ich eine "Reorganisation der Werte zu 1 2 3 4, dann wäre der drittgrößte Wert eine 2.
Gruß
Arthur
Anzeige
AW: 5 höchsten werten ? wenn mehrere Gleich
10.05.2006 11:34:22
Klaus
Hallo Arthur,
dann wirf die Daten doch vorher durch den Spezialfilter - ohne Duplikate!
Gruß,
Klaus M.vdT.
AW: 5 höchsten werten ? wenn mehrere Gleich
10.05.2006 11:34:28
{Boris}
Hi Arthur,
2 Möglichkeiten:
1)
In G1: =MAX(A:A)
In G2: =KGRÖSSTE(A:A;ZÄHLENWENN(A:A;"&gt="&G1)+1) und runterkopieren.
2)
Irgendwo diese Formel (ARRAYformel!) und runterkopieren:
{=KGRÖSSTE(WENN(ISTZAHL($A$1:$A$100);(VERGLEICH($A$1:$A$100;$A$1:$A$100;)=ZEILE($1:$100))*$A$1:$A$100);ZEILEN($1:1))}
Grüße Boris
AW: 5 höchsten werten ? wenn mehrere Gleich
10.05.2006 11:42:33
Darren
Hi Leute,
hat jemand von Euch ein Ansatz für mich?
GRüße
Darren
AW: 5 höchsten werten ? wenn mehrere Gleich
10.05.2006 11:43:27
Dr.
Wieviele brauchst Du denn noch?
gelöst + ergebnis
10.05.2006 14:14:42
Darren
Hi Dr.,
jemand hat gerade geholfen!
Hier die Lösung, falls jemanf auch davon profitieren kann:
Option Explicit

Sub Makro4()
Dim c As Range, tmpRange As Range, i&
Dim bufunsortiert(), bufsortiert(), TMP, werte(5)
' Werte merken
i = 0
For Each c In Range(Columns.End(xlUp), Columns.End(xlDown))
'ReDim Preserve bufsortiert(i)
ReDim Preserve bufunsortiert(i)
'bufsortiert(i) = c.Value
bufunsortiert(i) = c.Value
i = i + 1
Next c
'FelderSortieren bufsortiert()
Range("A:A").Sort Key1:=Range("A1"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Die höchsten 5 Zellen merken
For i = 2 To 6
werte(i - 2) = Cells(i, 1)
Next i
'Alte Werte zurückschreiben
i = 1
For Each TMP In bufunsortiert
Cells(i, 1).Value = TMP
i = i + 1
Next TMP
'Die höchsten 5 Zellen rot
For i = 2 To 6
With Columns(1).Find(werte(i - 2)).Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Next i
End Sub


Sub FelderSortieren(Va())
Dim i%, y%, TMP, buf
For i = 0 To UBound(Va)
For y = i + 0 To UBound(Va)
If Va(i) > Va(y) Then
TMP = Va(i): Va(i) = Va(y): Va(y) = TMP
End If
Next y
Next i
End Sub

Grüße
Darren
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige