Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
204to208
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
204to208
204to208
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Keine Aktualisierung bei bedingter Formatierung!

Keine Aktualisierung bei bedingter Formatierung!
21.01.2003 11:53:46
Marc
Hallo zusammen!

So langsam verzweifel ich an folgendem Problem (bereits alle Foren durchgesucht):

Ich habe ein Programm auf Basis von Excel (inkl. VBA) geschrieben (6,5 MB). Jetzt steht in einigen Zellen entweder WAHR oder FALSCH. Die Werte werden zuvor via Makro (Inhalte einfügen) in die Zellen kopiert.
Die Zellen haben folgende bedingte Formatierung:

Zellwert gleich FALSCH, dann färbe Zelle rot.

Obwohl alles automatisch berechnet wird, werden die Zellen bei FALSCH nicht rot gefärbt. Klicke ich aber doppelt auf die Zelle und bestätige mit Enter, so wird die bedingte Formatierung auf einmal aktiv (ohne daß der Zellinhalt geändert wurde).

WARUM??????

Da es sich um 366 solcher Zellen handelt ist mir das von Hand doch etwas zu aufwendig.
Weiß jemand von Euch Rat?
Danke im voraus!


Ciao

Marc

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Leicht zu simulieren!
21.01.2003 12:09:15
Marc
So kann man das Problem auch leicht simulieren:

In Zelle A1 den Wert WAHR eingeben, in A2 den Wert FALSCH.
In Zelle B1 "=A1" eingeben und diese Formel ganz simpel nach unten kopieren. Dann habt Ihr folgendes auf Euren Bildschirm:

WAHR WAHR
FALSCH WAHR

Wenn's nicht so ein ernstes Problem (wichtiges Programm) wäre, wär's fast schon wieder lustig. :-(

Ciao

Marc

Re: Leicht zu simulieren!
21.01.2003 12:12:41
M.
Ups, das mit der Simulation stimmte leider nicht, aber das eigentliche Problem bleibt.

Sorry.

Marc

Re: Leicht zu simulieren!
21.01.2003 12:17:15
Boris
Hallo Marc,

ich hab´s mal so simuliert:

Sub test()
Range("A1") = 1 = 2
End Sub

Sub test()
Range("A1") = 1 = 1
End Sub

Und A1 bedingt formatiert mit Zellwert ist gleich FALSCH und Farbe rot zugewiesen.

Führe ich das erste Makro aus, wird die Zelle rot, führe ich das 2. aus: keine Farbe,
dann wieder das erste: Zell rot.

Insofern für mich nicht nachvollziehbar.
Oder liegt der Hase noch woanders im Pfeffer?

Gruß Boris

Anzeige
Re: Keine Aktualisierung bei bedingter Formatierung!
21.01.2003 12:25:49
L.Vira
Die Wahrheitswerte sind das Ergebnis von Berechnungen?
Re: Leicht zu simulieren!
21.01.2003 12:25:57
Panicman
Hallo,

ich glaube, das das Wort FALSCH oder WAHR durch VBA als Text übergeben wird.

Versuch das zu ändern (N(...) dann WAHR = 1 und FALSCH = 0)
oder benutze die bedingte Formatierung
Formel =TEXT(A1;"@")="FALSCH"

und Bereich anpassen

Tschüß
Holger

Re: Leicht zu simulieren!
21.01.2003 12:58:47
Marc
Danke für Eure Hilfe.

Leider kann ich FALSCH und WAHR nicht durch 1 und 0 ersetzen, weil jeweils ein Checkbutton damit verknüpft ist, der ja bekanntlich nur wahr und falsch kennt.

Oder kann man das auch irgendwie umgehen?

Ich weiß natürlich, daß man einen zweiten Bereich machen kann, der so verknüpft ist, daß die 0en und 1en in FALSCH und WAHR umgewandelt werden, aber das wäre ungünstig, weil die Datei (6,5 MB) so langsam aber sicher an Rechentempo verliert.

Ciao

Marc

Anzeige
Re: Keine Aktualisierung bei bedingter Formatierung!
21.01.2003 13:02:38
Marc
Hi L.Vira!

Nicht direkt. Sie entstammen einer Art Datenbank (ohne Formeln), werden dann durch ein Makro kopiert und dort (jetzt mit Formel) transponiert (als ich das gemacht habe, waren meine programmiertechnischen Möglichkeiten noch etwas eingeschränkter :-) ). Danach wird dieser Bereich wie beschrieben via Makro in ein anderes Tabellenblatt kopiert (Inhalte einfügen, Werte einfügen).

Welche Idee hattest Du denn bzgl. Formeln?

Gruß

Marc

Re: Leicht zu simulieren!
21.01.2003 13:11:14
Panicman
Hallo Marc,

Prüfe doch mal ob du Den Text WAHR/FALSCH übergibst.
Text ist dann LINKS ausgerichtet. Wenn es kein Text ist, ist es ZENTRIERT.
Poste doch mal den Teil des CODEs
ODER
verwende bei Text die bedingte Formatierung Formel =TEXT(A1;"@")="FALSCH"

Dann wird es immer ROT egal ob TEXT oder NICHT

Gruß
Holger

Anzeige
Eine kleine Spur
21.01.2003 13:37:47
Marc
Danke Holger für Deine Hilfe.
Die Zelle sind blöderweise formatiert worden (zentriert).Schalte ich dies aus, richtet sich der Wert nach links aus (=Text).
Vielleicht sollte ich aber anmerken, daß die bedingte Formatierung nicht ganz so wesentlich ist, wie die nicht aktualisierte Verknüpfung mit den Checkbuttons (denen ist die Farbe ja leider egal).

Habe aber eine kleine Spur woran es evt. liegt:

Wenn ich in eine Zelle von Hand wahr oder falsch eingeben und mit Inhalte einfügen/Werte einfügen den Wert kopiere, wird alles richtig gemacht.

Das Problem besteht wohl davor: Die zu kopierenden Werte stehen in Zellen, die ihren Inhalt/Wert mittels einer Formel (Index-Funktion) aus einem anderen Tabellenblatt (gleiche Datei) beziehen.
Es scheint, als wird der Wert nur scheinbar übertragen (sieht zunächst nämlich richtig aus).
Wo liegt das Problem genau und wie kann ich es am besten umgehen?

Danke nochmals für Eure engagierte Hilfe!!

Ciao

Marc

Anzeige
Re: Eine kleine Spur
21.01.2003 13:53:00
Panicman
Hallo Mark,

der Wert der Indexfunktion kann m.E. nicht Wahr oder Falsch sein.
Also wo kommt Wahr oder Falsch her.
Wenn du nicht die Formel und den Code deines Makros postest kommen wir hier wohl nicht weiter.

Holger

Auszug Quellcode
21.01.2003 13:58:46
Marc
Das erste Blatt enthält Zellen mit wahr/falsch, die ihren Inhalt/Wert über diese Formel aus einem anderen Blatt (Personaldatenbank) beziehen :

=INDEX(Personaldatenbank!$D$26:$GU$391;$AS41+P$5;$N$3)

Ich denke, daß die Bedeutung der genannten Zellen halb so wichtig ist, denn es wird genau der richtige Wert aus "Personaldatenbank" angezeigt.

Der Inhalt dieser Zelle wird dann mit folgendem Makro in ein drittes Blatt kopiert:

Dim Pwd
Sheets("#").Select
Pwd = Cells(900, 3).Value
Sheets("Urlaubskalender").Select
ActiveSheet.Unprotect Password:=Pwd
Sheets("#").Select
Range("M8:AQ41").Select
Selection.Copy
Sheets("Urlaubskalender").Select
ActiveWindow.SmallScroll ToRight:=30
Range("BA8").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Sheets("#").Select
Range("D90:D90").Select
Selection.Copy
Sheets("Urlaubskalender").Select
ActiveWindow.SmallScroll ToRight:=30
Range("AJ26:AJ26").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("C7").Select
Application.CutCopyMode = False
Range("N4").Select
Application.CutCopyMode = False
ActiveSheet.Protect Password:=Pwd
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Der Krempel mit Pwd ist nur wegen dem Passwort-Blattschutz.
Die Blätter:
Urlaubskalender hier sind die Checkbuttons und die
Zellen, mit denen sie verknüpft sind
Personaldatenbank hier liegen (für jeden Mitarbeiter) die
WAHR-/FALSCH-Werte (Wahr=Urlaubstag)
# "Zwischenblatt" zum rumrechnen
Hier ist ein Abbild der WAHR-/FALSCH-
Werte des ausgewählten Mitarbeiters (über
die besagte Index-Formel werden die Werte
hier aufgelistet). Der Inhalt DIESER
Zellen wird dann über das oben genannte
Makro in das Blatt "Urlaubskalender"
kopiert.

Ist alles etwas kompliziert (ich weiß). Versuche es schon zu vereinfachen.
Thx!

Ciao

Marc

Anzeige
noch offen !!!
21.01.2003 14:49:09
Panicman
Hallo,

ich habe keine Ahnung, warum der WAHR/FALSCH bei dir als Text übergeben wird. Vielleicht ist schon der Ursprungswert, den Index ermittelt ein Text.
Dann konnte die vielleicht helfen:
Wenn(INDEX(Personaldatenbank!$D$26:$GU$391;$AS41+P$5;$N$3)="WAHR";WAHR();FALSCH())

Tut mir leid,
Holger

Re: noch offen !!!
21.01.2003 15:15:02
Marc
Hi Holger, hi Forum!

Also Holger, Du hast mich schon etwas näher an die Ursache gebracht. Tatsächlich springt die bedingte Formatierung auf Deine Formel an, allerdings sind irgendwie alle Felder nun FALSCH. Das würde bedeuten, daß die WAHR-Werte kein Text waren (weshalb ="wahr" immer negativ ausfällt).

Dank Eurer Hilfe kann ich den Fehler zumindest besser eingrenzen.
Wenn Euch noch was einfällt: Nur zu! Ich kann jede Hilfe gebrauchen.

Ansonsten: Klasse Hilfe von Euch (ist ja nicht gerade unkompliziert das Ganze)!
Merci!

Ciao

Marc

Anzeige
LÖSUNG!!!!!!
21.01.2003 15:20:20
Marc
Mit einer kleinen Änderung in Holgers Formel scheint es reibungslos zu funktionieren:

wenn(Index(....)=wahr;wahr();falsch())

Anscheinend müssen nur die Anführungszeichen weg.
Frag mich bitte keiner wieso und weshalb das alles so merkwürdig läuft, ich habe nicht die geringste Ahnung. Aber Hauptsache es funktioniert!

Ciao

Marc



300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige