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.

Zell Adresse von Farbigen Zellen ermitteln
#1
Hallo Excel Gemeinde,

Ich versuch mit diesem Code:   

                                               For Spalte2 = 9 to 29 Step 4

                                               Set MeinBereich = .Cells(30, Spalte2).Interior.ColorIndex = 4

                                               Sieger = Application.WorksheetFunction.Max(MeinBereich)
                                      
                                              .Cells(31, 37) = Sieger

                                                Next Spalte2

Den Max Wert zu ermitteln aber klappt nicht Fehler = Objekt Erforderlich obwohl ich die Variable MeinBereich als Objekt Deklariert habe

und hoffe auf Eure Hilfe
Grüße
aus dem schönen Bayern

Freddy

Excel 2013 Win8
Antworten Top
#2
Wenn du MeinBereich als Objekt (besser As Range) deklariert hast, Freddy,
musst du ihr auch ein Objekt (einen Bereich) zuweisen! Du weist aber das Ergebnis eines Vergleichs, also einen Booleschen Wert zu. Deshalb der Fehler.
Auch ist die Schleife so nicht hilfreich, weil MeinBereich bei jedem Durchlauf neu gesetzt wird. Das Max innerhalb der Schleife ist dann auch kaum sinnvoll.
Ich empfehle stattdessen die Find- und FindNext-Methode. Außerdem gibt's noch SpecialCells.
Letztlich wirst du so einen unzusammenhängenden Bereich (Areas → ggf über Union) erhalten, auf den du dann Max anwenden kannst.
Gruß aus dem Wasserwandererparadies Brandenburg, Castor
Antworten Top
#3
Servus Castor,

Also bist Du der Meinung ich sollte "Sieger = Application.WorksheetFunction.Max(MeinBereich)

mit der find next Methode auslösen aber wie finde ich dann die Grün markierten Zellen?

Mein Problem ist dass die Werte immer Unterschiedlich in verschiedenen Zellen sein Können
ich hänge mal die Mappe an

.xlsm   Spieltag_1_2.xlsm (Größe: 1,05 MB / Downloads: 2)

Und bitte könntest Du mir mit einem Code Beispiel auf die Sprünge helfen
Grüße
aus dem schönen Bayern

Freddy

Excel 2013 Win8
Antworten Top
#4
Habe leider kaum Zeit, so kurz vorm Urlaub, Freddy,
und kann mich deshalb nicht auf die Schnelle in deine BspTab hineindenken (dein Programm ist mir auch etwas zu wenig strukturiert, was ein zusätzliches Problem wäre). Aber allgemeinere Programmbspp sind noch drin.
Mit 3 UDFs könnte man ein Werte-Maximum von Zellen einer bestimmten Zellfarbe feststellen, im Folgenden sogar inkl Farbe aus bedingter Formatierung (ab Xl14/2010), wobei hier RGB-Farbwerte, keine uneindeutigen Farbindizes benutzt werden (65280 entspricht dem Grün mit Standardindex 4):
{=MAX(NoErrRange(F12:AF12;;TxEval(WECHSELN("CellColor(#)";"#";ADRESSE(ZEILE(F12:AF12);SPALTE(F12:AF12);4)))=65280))}
Das ist eine Matrixformel, die ohne die äußeren {} eingegeben und mit [strg][umsch][enter] abgeschlossen werden muss.
Du kannst dir natürlich auch die Programme der UDFs ansehen und daraus ggf Lösungen für dich ableiten:
NoErrRange: http://www.herber.de/forum/archiv/1508to...tm#1508215
CellColor & TxEval: http://www.herber.de/forum/archiv/1476to...ml#1477400
Hinweis: TxEval  wird hier benötigt und CellColor muss in Textform übergeben und dann ausgewertet werden, weil Xl sonst die Ausführung dieser UDF verhindert, da sie die neue objektbildende Range-Eigen­schaft DisplayFormat verwendet. MS hat die nicht für die Anwendung in Zellformeln freigegeben, aber in Subprozeduren ist das problemlos möglich (in UDFs im Zellformeleinsatz letztlich auch, aber nur so). ;)
Morrn, Castor
(Hier ist zZ Land unter!)
[-] Folgende(r) 1 Nutzer sagt Danke an Castor für diesen Beitrag:
  • freddy
Antworten Top
#5
Danke für die Antwort

Muß mich da mal einarbeiten ist wenn ich ehrlich bin etwas zu Hoch für mein Wissen in VBA

Bist Du Etwa in der Nähe von Berlin ? wg. Land Unter

Vielleicht geht nach Deinem Urlaub noch etwas zur Aufklärung meinerseits 

Danke Trotzdem wenn ich es auch nicht Kapiert habe
Grüße
aus dem schönen Bayern

Freddy

Excel 2013 Win8
Antworten Top
#6
Ja, aber das gilt für ganz Brandenburg, Freddy;
du kannst aber auch die fertige Formel verwenden, falls sie ein/den richtigen Bereich trifft. Ich hatte sie mit anderen Daten getestet, da deine in dem Bereich zu "eintönig" sind, um die Wirkung deutlich zu machen.
So, jetzt aber weg…
Bis evtl dann, Castor
Antworten Top


Gehe zu:


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