299 Aufrufe
Gefragt in Tabellenkalkulation von radi38 Einsteiger (7 Punkte)
Hallo

Habe eine Reihe von Tabellendokumenten mit jeweils 3-12 Tabellen erstellt.

Zweck, Auswertung verschiedener Artikel.

Der Aufbau (Spaltenanzahl, -bezeichnung und Formatierung) ist immer gleich.

Nun habe ich drei Spalten dieser Tabellen mit bedingten Formatierungen versehen. Diese sind in ihrer Form unterschiedlich (Farbe, Schriftgröße etc.) Das möchte ich ändern

Jetzt habe ich ein leeres Dokument erstellt und es meinen Vorstellungen entsprechend gestaltet.

Die in diesem Dokument vorhandenen Vorlagen „bedingte Formatierung“ möchte ich in meine vorhandenen Tabellendokumente übertragen.

Meine Vorstellung :

In den vorhandenen Tabellendokumenten jeweils eine leere Tabelle erzeugen. Die neuen bedingten Formatierung rein kopieren um diese dann mittels Pinsel in die jeweils vorhandene Spalten der einzelnen Tabellen einfügen.

Das mit dem Pinsel funktioniert ja leider nicht von Dokument zu Dokument.

Wenn das nicht klappt muss ich in jedem Tabellendokument die bedingte Formatierung manuell erstellen.

Hoffe, habe mich verständlich ausgedrückt. Is‘ gar nicht so leicht.

Gruß

Radi

26 Antworten

0 Punkte
Beantwortet von robbi58 Mitglied (404 Punkte)
Danke für deine Hilfe!

Beim Arbeiten bzw. Erstellen von Arbeitsblättern muss man immer wieder kleiner und größere Hürden überwinden.

Robert
0 Punkte
Beantwortet von robbi58 Mitglied (404 Punkte)
Tja, offenbar gehen mir die Fragen nicht aus!

Ich weiß nicht, ob es passend zu dieser Frage ist, aber es geht um bedingte Formatierung, die ich mittlerweile mithilfe des Makros sehr rasch in ein Blatt einfügen kann. Dazu noch eine Frage:

Meine bedingten Formatierungen werden fast ausschließlich über Zellenbezüge formatiert (z. B.:  =A3) .Die Zellen beinhalten dann Zahlen, Texte oder nur Buchstaben. Wie gesagt, entwerfen ich diese für SchülerInnen und diese machen das, was wir alle machen würden: bei Texten mit den möglichen Ergebnissen ja oder nein denken sie nicht lange nach, sondern geben zunächst ja ein, und wenn das bedingte Formatierung dies nicht als richtig anerkennt, sofort ein nein. Super, toll gelöst.

Gibt es eine Möglichkeit, bedingte Formatierungen mittels vba zu deaktivieren während die SchülerInnen das Blatt bearbeiten. Sind sie fertig, drücken sie eine Button, der die bedingte Formatierungen wieder aktiviert und das entsprechende Ergebnis anzeigt. Habe aber keine Ahnung, ob dies so funktionieren kann. Eine Alternative dazu ist mir nicht eingefallen.

Ich hoffe, euch gehen die Antworten auch nicht aus.

Danke Robert

PS: Meine SchülerInnen werden recht häufig mit meinen Arbeitsblättern versorgt, die ich mithilfe des Forums recht abwechslungsreich gestalten konnte.
0 Punkte
Beantwortet von m-o Profi (12.9k Punkte)
Hallo Robert,

du kannst eine bedingte Formatierung nicht an- und ausschalten. Selbst wenn du die Berechnung des Arbeitsblattes auf manuell umstellst, die bedingte Formatierung funktioniert sofort nach der Eingabe. Doch auch das Aus- und Einschalten löst dein Problem ja nicht wirklich. Sobald deine Schüler die Prüfung eingeschaltet haben, können sie ja die Fehler verbessern. Du hattest ja schon mal so eine Frage.

Man könnte die Schüler die Blätter ja ausfüllen lassen. Dann sollen sie einen Button drücken, der die Ergebnisse kontrolliert und z.B. falsch und richtig anzeigt. Gleichzeitig würde das ganze Blatt zur weiteren Bearbeitung gesperrt.

Gruß

M.O.
0 Punkte
Beantwortet von robbi58 Mitglied (404 Punkte)
Bearbeitet von robbi58

Sorry, dass ich die Frage doppelt gestellt habe und eigentlich schon wissen müsste, dass eine bedingte Formatierung nicht mittels vba aktiviert bzw. deaktiviert werden kann. Ich löse mein Problem wie folgt (ich muss ja immer zwei Versionen erstellen, nachdem vba auf den I-Pads nicht funktioniert, auf den Windows-PC´s sehr wohl):

(1) ohne vba (für meine iPad-Nutzer):  

In Feld C3 befindet sich folgende Formel (Schrift vorher auf wingdings stellen; )

=WENN(ODER(A1="");"";WENN(UND(A1=0;B3=A3);"Haken";"Kreuz"))

wobei Haken und Kreuz habe ich nur so reingeschrieben, weil sonst werden nur Fragezeichen angezeigt.

(2) mit vba: 

Das geschieht mittels CommandButton(Dein Ergebnis)

worksheets("Tabelle1").Range(A1)=0

Dann werden die Formeln wie oben wirksam. Mit einem zweiten Button (Neu)  werden die Aufgabenstellungen neu gemischt und die Null wieder gelöscht. 

Vielleicht könnte mir jemand im Forum vba noch dahingehend erweitern, dass die Zellen entsprechend richtig oder falsch auch noch farblich (z. B. grün für richtig, rot für falsch) unterschieden werden. Dann müsste ich aber die Formel so abändern, dass eine Null für richtig und die Eins für falsch steht.

Es gibt sicherlich elegantere Lösungen Wer eine solche hat, kann sie hier ruhig posten. Ich bin für Neues immer sehr aufgeschlossen.

Robert

0 Punkte
Beantwortet von m-o Profi (12.9k Punkte)
Hallo Robert,

wenn du noch mal eine Beispieltabelle zur Verfügung stellen könntest, dann könnte man sich das mit der farblichen Markierung mal anschauen.

Gruß

M.O.
0 Punkte
Beantwortet von robbi58 Mitglied (404 Punkte)
Bearbeitet von robbi58
Hallo M.O.

Die Datei ist unter folgendem Link abrufbar:

https://filehorst.de/d/cFdrvmgC

Allerdings wird nach dem Drücken auf den CommandButton "Neu" bei den Lösungen alles auf falsch gestellt (Kreuz). Normalerweise müssten diese Felder leer sein, weil ja zur Aktivierung stets 2 Bedingungen erfüllt sein müssen. Außerdem habe ich das Problem, dass die Zeichensetzung von Haken bzw. Kreuz manchmal gelingt, manchmal nicht (egal ob ich die Formatierung über wingdings oder marlett mache). Habe aber keine Ahnung warum.

Danke Robert
+1 Punkt
Beantwortet von m-o Profi (12.9k Punkte)

Hallo Robert,

ich habe mal deine vorhandenen Makros bearbeitet (Tabelle1neu) sowie einen Alternativvorschlag (Aufgabenblatt) gemacht. Die Prüfung, ob eine Zahl durch eine andere ohne Rest teilbar ist, ist in VBA realtiv einfach zu lösen. Daher kannst du dir hier - zumindest für die Windows-Version - viel Arbeit sparen.

Hier ist die Datei: Download

Gruß

M.O.

0 Punkte
Beantwortet von robbi58 Mitglied (404 Punkte)
Hallo M.O.

Da hast du dich wieder einmal selbst übertroffen. Dein Lösungsvorschlag ist optisch gut gelungen und entspricht genau dem, was ich mir vorgestellt habe. Damit können meine SchülerInnen ihr Ergebnis selbst kontrollieren bzw. ich kann es auch überprüfen (sie machen einen screenshoot und senden mir diesen zu). Aufgrund der farblichen Unterscheidung zwischen richtig und falsch bekomme auch ich einen raschen Überblick über ihre erzielten Leistungen. Super und danke.

Eine Frage hätte ich aber doch noch: wenn ich andere Blätter so gestalte (z. B. Zahlenergebnisse), dann müsste ich bei richtigem Ergebnis eine 0 oder ein ja ausgeben, bei falschem Ergebnis ein nein oder eine 1. Dieses lasse ich in ein Feld daneben (darunter,...) schreiben. Kann ich dann per Makro die Ergebnisfelder auch entsprechend farbig einfärben?

Robert
0 Punkte
Beantwortet von m-o Profi (12.9k Punkte)
Hallo Robert,

du kannst per Makro jede Zelle färben.

Gruß

M.O.
0 Punkte
Beantwortet von robbi58 Mitglied (404 Punkte)
Bearbeitet von robbi58

Noch einen angenehmen Abend ans Forum!

Ich habe nun versucht, die Ergebnisse entsprechend ihrer Richtigkeit einzufärben. Nachdem ich vorwiegend für Mathe Arbeitsblätter erstelle habe ich mich für si und no und gegen 0 und 1 entschieden, um zu vermeiden, dass Zellen mit der Ziffer 0 unbeabsichtigt eingefärbt werden.. Dazu habe ich folgende Formel eingefügt:

Private Sub CommandButton1_Click()

Dim Zelle As Range, Bereich As Range
Set Bereich = Range("A1:ZZ100")
For Each Zelle In Bereich
Select Case Zelle.Value
  Case "si":
     Zelle.Interior.ColorIndex = 4
  Case "no":
     Zelle.Interior.ColorIndex = 5

End Select
Next Zelle

End Sub

Das Resultat meiner Bemühungen sieht dann so aus:

So weit so gut. Aber ich möchte nicht z. B. D2, sondern das Ergebnisfeld daneben, als C2, entsprechend einfärben. Nun meine Frage: Si or no? Möglich oder unmöglich?

Falls si, dann noch die Frage, ob man einen Bezug herstellen kann (falls die Zellen nicht nebeneinander sondern untereinander stehen,... ).

Danke Robert

...