334 Aufrufe
Gefragt in Tabellenkalkulation von robbi58 Mitglied (966 Punkte)
Bearbeitet von robbi58
Ich habe eine allgmemeine Frage ans Forum zu richten: ich gestalte Tabellenblätter, die realtiv viele Formeln zu Berechnungen enthalten. Diese Zellen färbe ich mit einer bestimmten Farbe ein und gestalte die bedingte Formatierung so, dass diese Zellen sich grün färben, wenn sie einen bestimmten Wert enthalten ("Regeln zum Hervorben - gleich). Da es aber oft mehr als 50 verschiedene Formeln sind, ist die Gestaltung mit bedingter Formatierung eher mühsam ( die Übertragung der bedingten Formatierung mittels Pinsel ist mir bekannt).

Meine Frage lautet: gibt es eine Möglichkeit (wenn ja, dann vermute ich dass es nur mittels vba-code möglich ist; muss dann wahrscheinlich auch nicht über die bedingte Formatierung laufen), dass z. B. alle nicht gesperrten Zellen, die Formeln enthalten, automatisch in Zellen mit bedingter Formatierung (Regeln zum Hervorheben - gleich) umgewandelt werden.

Wenn ich dies nämlich manuell mache, dann lösche ich nach Anwendung der bedingten Formatierung die Formeln wieder aus den Zellen, damit meine Schützlinge diese im Anschluss selbst berechnen können/dürfen/wollen/sollen.

LG von Robert

5 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Robert,

man kann in einer Schleife über alle Zellen laufen und prüfen ob sie eine Formel enthalten und falls ja, kann man dieser Zelle auch eine bedingte Formatierung zuweisen - dazu müsste man aber wissen, wie die Bedingung genau heißt.

Bis später, Karin
0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)
Bearbeitet von robbi58

Hallo Karin!

Zur besseren Verständnis habe ich nur beliebige Formeln - vor allem die letzten drei - eingegeben (hier sind sie ausnahmsweise alle untereinander in derselben Spalte). Ich gestalte meist Rechenaufgaben, wo ich für mich die Berechnungen mit Formeln durchführen lasse. Im Anschluss formatiere ich diese eingefärbten Zellen mittels "Bedingter Formatierung - Regeln zum Hervorheben - Gleich" so, dass bei Eingabe des richtigen Ergebnisses die vorerst gelb gefärbte Zellen (hier G2 : G8) grün werden. Im Anschluss entferne ich manuell die Formeln in den Zellen und entsperre diese, damit die SchülerInnen dort die richtigen Ergebnisse eintragen können. Somit erhalten diese stets eine Rückmeldung, ob ihr Rechenergebnis richtig ist.

Mitunter ist dieses Prozedere aber sehr aufwändig und mühsam. Deshalb meine Frage ans Forum, ob es da einen Möglichkeit mit geringerem Arbeitsaufwand gibt.

Danke Robert

+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hi Robert,

meine Frage war WAS konkret du unter "Zellen formatieren, die Folgendem GLEICH sind:" einträgst - ich  nehme an dass es die Formel ist die in der Zelle steht - sehe ich das richtig?

Sub BedFormatErstellen()
    Dim rngZelle As Range
    For Each rngZelle In Cells.SpecialCells(xlCellTypeFormulas)
        rngZelle.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
        Formula1:="" & rngZelle.Formula & ""
        With rngZelle.FormatConditions(rngZelle.FormatConditions.Count).Interior
            .PatternColorIndex = xlAutomatic
            .Color = 13561798
            .TintAndShade = 0
        End With
    Next rngZelle
End Sub

Beachte: der Code geht davon aus, dass in dem Tabellenblatt noch keine bedingten Formatierungen in Zellen mit Formeln vorhanden sind.

Bis später, Karin

0 Punkte
Beantwortet von robbi58 Mitglied (966 Punkte)

Hallo Karin!

Da habe ich wohl etwas quergedacht bei deiner Frage nach dem "Was". Aber deine Schlussfolgerung war richtig und es geht um die Übernahme der Formel. Ich habe das Makro ausprobiert und es funktioniert genauso, wie ich es mir vorgestellt habe. Das erspart mir vieles an Arbeit und Zeit. Aber "Was" mache ich jetzt mit der gewonnenen Freizeit?wink

Recht herzlichen Dank für deine Hilfe. Robert

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Aber "Was" mache ich jetzt mit der gewonnenen Freizeit?

Z.B. VBA lernen. wink

Bis später, Karin

...