Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1512to1516
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
Inhaltsverzeichnis

Werte sortieren und markieren WENN

Werte sortieren und markieren WENN
07.09.2016 13:35:12
Bernd
Schönen guten Tag zusammen,
ich habe folgende Frage zu folgendem Beispiel.
In meiner Excel Tabelle habe ich verschiedene Werte von Frequenzen, wie in dem Screenshot entnommen werden kann.
https://www.herber.de/bbs/user/108068.jpg
Nun sollen per Marko die Frequenzen nach der Größe (aufsteigend) sortiert werden. Darauf ist zu achten, dass der nächste Wert über 10% des ersten Wertes hat. Danach soll der dritte Wert mindestens 10% größer sein, als der zweite. Die Werte dazwischen, die nicht größer als die 10% sind, sollen rot markiert werden.Ein wenig kompliziert ausgedrückt, aber im Endeffekt soll es zum Schluss so aussehen.
https://www.herber.de/bbs/user/108069.jpg
Vielen Danke im voraus für die Antworten.
MfG Bernd

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: und warum Bilder und keine Exceldatei? owT
07.09.2016 13:53:21
...
Gruß Werner
.. , - ...
AW: und warum Bilder und keine Exceldatei? owT
08.09.2016 06:56:06
Bernd
Weil ich dienstlich nicht befugt bin, eine Excel Datei hochzuladen.
AW: die Bilddat. hast Du aber auch hochgeladen owT
08.09.2016 11:36:29
...
Gruß Werner
.. , - ...
AW: die Bilddat. hast Du aber auch hochgeladen owT
08.09.2016 12:30:15
Bernd
Weil ich dienstlich nicht befugt bin, eine Excel Datei hochzuladen.
Gibt es hier jemand anderes, der mir anhand von den Bilddateien auf die Sprünge helfen kann?
MfG
AW: dann erkläre doch wenigstens ...
08.09.2016 12:50:38
...
Hallo Bernd,
... ob die Arbeitsfrequenzen benutzerdefinierte formatierte Zahlenwerte sind oder Textangaben? Und was hat es mit den grauen Zellen auf sich? Wieso sind diese auch im Ergebnislisting vorhanden?
Gruß Werner
.. , - ...
AW: dann erkläre doch wenigstens ...
08.09.2016 14:51:35
Bernd
Die Zahlen sind Textangaben und die grauen Felder müssen nicht beachtet werden.
Anzeige
AW: auch dann wäre es möglich ...
08.09.2016 17:16:10
...
Hallo Bernd,
.. eine entsprechende sortierte Liste nur mit Formel(n) aufzustellen. Allerdings nur in einer anderen Spalte. Die dort nicht einsortierten Datenwerte könnte in der Originalliste rot eingefärbt werden.
Reicht Dir das? Wenn Du jedoch unbedingt eine VBA-Lösung suchst, dann schreib in Deine Antwort: "VBA-Lösung gesucht" und stell den thread offen. Anderenfalls kann ich Dir (aber erst Morgen) eine Lösungsformel aufzeigen.
Gruß Werner
.. , - ...
VBA-Lösung gesucht
09.09.2016 07:39:34
Bernd
Guten Morgen Werner,
ich danke dir für die informative Antwort, jedoch wird eine VBA-Lösung gesucht, sodass per Makro alles wie beschrieben sortiert und markiert wird.
Ich bin gespannt auf deine Antwort und verbleibe,
mit freundlichen Grüßen
Anzeige
Für jemand der Hilfe sucht...
09.09.2016 09:52:00
Michael
Bernd,
...erscheinen mir Deine Antworten auf Werners berechtigte Nachfragen recht flapsig; ich für meinen Teil kann mir vorstellen, dass Du damit kaum jemanden zu spontanen VBA-Hilfsaktionen animierst.
Warum?
Du wurdest bereits um eine Bsp-Datei gebeten, das wäre auch hinsichtlich einer VBA-Lösung interessant. Ganz ehrlich: Du hast hier ein nicht ganz triviales Problem (es handelt sich nämlich um Text (!) der sortiert werden muss nach numerischen Gegebenheiten) und stellst dazu eine lange Zeichenkolonne als Bild zur Verfügung... Ja glaubst Du wir sind erpicht darauf, das abzutippen? Die Geschichte mit der dienstlichen Verpflichtung ist hier mE eine Ausrede: Die Kolonne die im Bild zu sehen ist, könntest Du uns doch auch genauso ein einer neuen, ansonsten leeren Mappe hier hochladen - die personenbezogenen Daten der Mappe kannst Du über Windows-Bordmitteln entfernen. Und der Informationsgehalt, der preisgegeben wird, ist der gleiche, wie bei dem hochgeladenen Bild - nur, dass wir als Helfer nicht sinnlos irgendwelche MHz-Texte abtippen müssen, sondern uns lieber um einen cleveren Algorithmus für Dein Problem kümmern können! Zumindest die Zellwerte in einer .txt-Datei wären hilfreicher als dieses Bild (weil kopierbar!).
Zu Die Zahlen sind Textangaben und die grauen Felder müssen nicht beachtet werden.
Interessant - dann hast Du wohl schon einen Lösungsansatz? Ich meine nämlich, dass die grauen Felder, insbesondere bei einer VBA-Lösung, sehr wohl zu beachten sind - und zwar deshalb, weil sie offenbar nach der Sortierung immer noch in der Spalte vorhanden sind/sein sollen, dazu wäre aber wichtig zu wissen, ob es dafür eine Systematik gibt, wann eine Zelle leer und grau ist - ohne Systematik für die grauen Felder werden die nämlich in etwaigem Code ignoriert, weil ich leere Werte nicht sortieren kann... und das ist offenbar nicht das, was Du als Lösung anstrebst. "Die grauen Zellen sollen nach der Sortierung an den selben Positionen sein, wie zuvor" wäre schon ein Hinweis mit dem wir arbeiten können bspw.
Wir helfen hier gerne, aber gewisse Informationen sind einfach erforderlich, um zu helfen.
Ich hätte einen Ansatz mitgeliefert, bin dazu aber auch nicht im Stande, solange etwa ungeklärt ist, was es mit den grauen Zellen (wie o.a.) auf sich hat.
LG
Michael
Anzeige
VBA-Lösung gesucht
09.09.2016 11:07:19
Bernd
Gelesen und verstanden.
Da die Bundeswehr, mein Arbeitsgeber, das Internet beschränkt zur Verfügung stellt, welches außerdem überwacht wird, ist dir hoffe ich bewusst. Da ich einer IT-Abteilung seit gewisser Zeit angehöre, ist es mir beschränkt möglich überhaupt nur hier im Internet in Foren einige Beiträge zu erstellen. Das zu dem Punkt, es war eine Ausrede die Datei nicht hochladen zu müssen/wollen.
Ich lade jetzt hier eine Excel Datei hoch, die ich in 1 Minute erstellt habe. Auch wenn es verboten ist.. Die Range im VBA Befehl könnte ich mit meinen Anfänger Kenntnissen selber bearbeiten und auf Zellen anpassen. Mir geht es hauptsächlich um die VBA-Lösung, sodass die gesagten 10% ausgerechnet werden und die Zellen, die unter diesem Wert liegen, rot markiert werden. Und das bis zu dem ersten Wert, der höher ist als die erste Zelle + 10%.
Und als ich schrieb, dass die grauen Felder nicht beachtet werden müssen, meinte ich das auch so.
Ob die graue Zelle frei bleibt oder nach dem sortieren besetzt ist, spielt keine Rolle.
Freue mich über zukünftige Hilfe und danke im voraus.
Anhang:
https://www.herber.de/bbs/user/108093.xlsx
Anzeige
AW: der Vollständigkeit halber: Formellösung ...
09.09.2016 11:44:46
...
Hallo Bernd,
... wie von Dir zwar nicht benötigt, wäre aber verhältnismäßig einfach.
In den Ergebniszellen ersetze ich auch gleich die Daten-Textwerte durch echte Zahlen mit dem benutzerdefinierten Zahlenformat 0" MHz".
 ABC
1109 MHz  
2107 MHz  105 MHz
3105 MHz 125 MHz
4110 MHz 180 MHz
5112 MHz 280 MHz
6120 MHz  
7125 MHz  
8138 MHz  
9140 MHz  
10180 MHz  
11184 MHz  
12188 MHz  
13200 MHz  
14230 MHz  
15245 MHz  
16280 MHz  
17   

Formeln der Tabelle
ZelleFormel
C2=WENNFEHLER(AGGREGAT(15;6;--WECHSELN(A$1:A$19;"MHz";"")/(--WECHSELN(A$1:A$19;"MHz";"")>1,1*C1); ZEILE(A1)); "")

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
A21. / Formel ist =(ZÄHLENWENN(C$1:C$99;--WECHSELN(A1;"MHz";""))=0)*(A1<>"")Abc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
VBA-Lösung, teste mal...
09.09.2016 11:53:30
Michael
Hallo Bernd!
In Deiner Bsp-Mappe: https://www.herber.de/bbs/user/108095.xlsm
Klick auf Schaltfläche "Start" löst das Makro aus. Teste das mal, ob das Deinem Wunsch entspricht.
Falls nicht, gib hier Bescheid - ich muss allerdings jetzt weg, evtl. kann dann einE Kollege/Kollegin hier weiterbasteln.
Der Code für weitere Helfer, falls benötigt:
Sub MHz() Dim Ws As Worksheet Dim Daten As Range Dim c As Range Dim dCol As New Collection Dim i&, j&, k& Dim A() Set Ws = ActiveSheet With Ws Set Daten = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) For Each c In Daten.SpecialCells(xlCellTypeConstants) dCol.Add c Next c End With ReDim A(0 To dCol.Count - 1) For i = 1 To dCol.Count A(i - 1) = dCol(i) Next i For j = LBound(A()) To UBound(A()) A(j) = Replace(A(j), ".", "") A(j) = Replace(A(j), " MHz", "") A(j) = CLng(A(j)) Next j Call QuickSort(A(), LBound(A()), UBound(A())) For k = LBound(A()) To UBound(A()) Ws.Cells(k + 1, 3).Value = A(k) Next k With Ws For Each c In .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp)) If (c.Value / c.Offset(-1, 0).Value) * 100 High Then Exit Sub vPartition = ArrayToSort((Low + High) \ 2) i = Low: j = High Do Do While ArrayToSort(i) vPartition j = j - 1 Loop If i j If (j - Low) Michael
Anzeige
AW: VBA-Lösung, teste mal...
12.09.2016 09:31:49
Bernd
Hallo Michael,
ivielen Dank schon mal für diese VBA Lösung. Diese funktioniert fast genau so, wie ich es mir vorgestellt habe. Jedoch stimmen die rot markierten Werte nicht mit den 10% überein.
Und zwar wurde der wert in der Bsp. Mappe "110" rot markiert. Wenn man aber die 10% auf die 100 drauf rechnet, kommen ja 110 bei raus und dementsprechend sollte der Wert nicht rot markiert werden.
Wenn man das Spiel weiter spielt und von den 110 die 10% wieder drauf rechnet, sollte der nächste Wert 125 auch nicht rot markiert werden.
Gibt es da einen anderen Lösungsansatz?
Hier nochmal die Excel Datei mit dem Ergebnis der VBA Lösung und rechts daneben, wie es letztlich aussehen sollte.

Die Datei https://www.herber.de/bbs/user/108116.xlsm wurde aus Datenschutzgründen gelöscht


Mit freundlichen Grüßen
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige