Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formatierung einer Zelle mittels Funktion

Formatierung einer Zelle mittels Funktion
29.09.2015 20:18:57
Chris
Hallo,
ich habe folgende Funktion geschrieben, welche auch gut funktioniert:
Function Note(Punkte As Integer) As String
Select Case Punkte
Case Is >= 90
Note = "sehr gut"
Case 75 To 89
Note = "gut"
Case 60 To 74
Note = "befriedigend"
Case 45 To 59
Note = "ausreichend"
Case 30 To 44
Note = "mangelhaft"
Case Else
Note = "ungenügend"
End Select
End Function
Wie kann ich nun die jeweilige Zelle, in der die Funktion aufgerufen wird, innerhalb der Funktion formatieren ("sehr gut" grün hinterlegt, ..., "ungenügend" rot hinterlegt; keine bedingte Formatierung)?
https://www.herber.de/bbs/user/100487.jpg
Vielen Dank für die Antworten!

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung einer Zelle mittels Funktion
29.09.2015 20:42:15
Daniel
Hi
es ist in Excel nicht vorgesehen, das Formeln in Zellen mehr beeinflussen können, als den Zellwert.
daher dürfen auch VBA-Funktionen nur dies tun, wenn sie in Excelzellen in Formeln verwendet werden.
(es wird zwar berichtet, dass es möglich ist, diese Einschränkung ausser Kraft zu setzen, aber das ist dann eher für Experten)
Excel hat für deine Aufgabenstellung die bedingte Formatierung vorgehehen, in den neueren Excelversionen ab 2007 können dann auch mehr als 3 unterschiedliche bedingte Formate pro Zelle verwendet werden, du kannst auch unterschiedliche Bediungen für unterschiedliche Formatierungen miteinander kombinieren (Farbe nach Note, Rahmen nach Fachgruppe)
wenn du trotzdem die Bedingte Formatierung nicht verwenden willst, müsstest du ein normales Makro schreiben, welches die Formatierung nach Wert vornimmt.
Gruß Daniel

Anzeige
AW: Formatierung einer Zelle mittels Funktion
30.09.2015 12:40:59
Chris
Hi Daniel,
vielen Dank für Deine ausführliche Antwort!
Dann werde ich wohl doch die bedingte Formatierung beibehalten müssen. Nichtsdestotrotz interessiert mich sehr, wie denn die Einschränkung ausser Kraft gesetzt werden kann. Hast Du dazu Informationen?
Danke & Gruß,
Chris

Anzeige
ZellFormatierung durch 1 UDF ist möglich, ...
30.09.2015 23:57:21
Luc:-?
…Chris,
wenn man entweder API-Fktt in sie einbaut oder die UDF als Auslöser einer von ihr physisch entkoppelten Ereignis­Prozedur benutzt. D.h., die Formatierung wird in eine Ereignis- oder von einer solchen aufgerufene Prozedur ausgelagert. Die eigentliche UDF ruft diese Prozedur nicht auf, sondern macht etwas, das genau dieses Ereignis auslöst. Dabei kann das gewünschte Format der UDF als Argument mitgegeben wdn. Diese trägt es in eine Global­Variable ein (ggf mit eigenem Standort), auf die dann die Ereignisprozedur zugreift und so die Zelle(n) wie gewünscht formatieren kann.
So etwas sollte man nicht inflationär verwenden, schon gar nicht, wenn man das Problem auch mit einer Bedingt­Formatierung lösen kann. Es hat nämlich einen Grund, dass das Fktt in ZellFmln nicht erlaubt ist.
Übrigens lassen sich ab Xl12/2007 bzw xl14/2010 einige Dinge (idR neue Features) auch ohne diesen Umweg direkt mit einer UDF realisieren, während zuvor nur 'ne MsgBox ausgegeben wdn konnte (aber keine gute Idee!) und noch etwas in bezug auf Zeichnungs­Objekte, aber nur objekt­abhängig wenig (nie alles!) ging. Möglicherweise hat(te) MS da geschlampt.
Fazit: So etwas sollte stets einigen wenigen Spezialfällen vorbehalten bleiben!
Gruß, Luc :-?
Besser informiert mit …
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige