Excel Ist-Formel

Hallo Zusammen!

Wie kann man in Excel (2003*) überprüfen ob eine Zelle einen berechneten Wert oder einen eingegebenen enthält?

Es gibt da diverse IstDiedUndDas-Funktionen, aber eine Funktion IstFormel finde ich nicht. Auch der umgekehrte Werte „IstWert(X) = Falsch“ funzt nicht, denn eine Zelle die z.B. ‚9‘ anzeigt wird als Wert erkannt, egal ob die 9 eingegeben oder durch eine Formel errechnet wurde.

Hintergrund: Ich will verhindern das Formeln versehentlich überschrieben werden, kann die Felder aber auch nicht sperren, weil in die Tabellen ständig neue Zeilen eingefügt werden (Die Formel-Zellen sollen dann kopiert werden). Über Bedingte Formatierung oder Daten Gültigkeit wollte ich eine Warnung bzw. Sperre einrichten wenn in einem Feld, in dem eine Formel stehen soll direkt ein Wert eingeben wird. Finde da aber keine Lösung.

Danke für jeden Tip
Conrad

*) Sollte sich mein Problem in einer höheren Version lösen lassen wäre das ein Grund für ein Upgrade, daher auch dann bitte Hinweis.

Hintergrund: Ich will verhindern das Formeln versehentlich überschrieben :werden, kann die Felder aber auch nicht sperren, weil in die Tabellen :ständig neue Zeilen eingefügt werden (Die Formel-Zellen sollen dann kopiert :werden).

Hallo Conrad,
Selbst wenn du eine Funktion hättest die erkennt ob der Inhalt einer Zelle eine Formel ist oder nicht, wie willst du damit ein Überschreiben verhindern?

Die Zellen mit den Formeln gegen unbeabsichtigtes Überschreiben zu schützen ist eigentlich kein Problem wenn die Formeln bereits vorhanden sind. Es werden also nur die Werte noch kopiert, die Formel ist schon da.

Das wäre mE. auch die einfachste Lösung.
Du könntest sie so umbauen, das nur was angezeigt wird wenn alle Kriterien für die Berechnung vorhanden sind.
Sinngemäß:
=wenn(Prüfung_Kriterien ; deine Formel ; „“)

Gruß Holger

Hallo noch einmal,
eine Funktion =istformel kennt Excel nicht,
es ist aber möglich sich eine entsprechende Funktion zu „bauen“

/t/istformel-z1s1/6312703/16
beachte, das die Formel nur funktioniert wenn vorher ein Name definiert wird.

Der Name dort: Form
Bezieht sich auf: =ZELLE.ZUORDNEN(48;Tabelle3!$A1)
Tabelle3!$A1!!ggf anpassen

Gruß Holger

Hi Conrad,

Wie kann man in Excel (2003*) überprüfen ob eine Zelle einen berechneten Wert oder einen eingegebenen enthält?
Es gibt da diverse IstDiedUndDas-Funktionen, aber eine Funktion IstFormel finde ich nicht. Auch der umgekehrte Werte „IstWert(X) = Falsch“ funzt nicht, denn eine Zelle die z.B. ‚9‘ anzeigt wird als Wert erkannt, egal ob die 9 eingegeben oder durch eine Formel errechnet wurde.

Am Rande: Du kannst Dir eine solche Formel selbst basteln. Aus dem Gedächtnis (ungetestet, evtl. fehlerhaft): in ein Modul eines Tabellenblattes gibst Du folgenden Einzeiler ein

Function IstFormel(target as Range) as Boolean 'MH 01.09.11
 If target.Cells.Count \> 1 Then Exit Function
 IstFormel = target.HasFormula
End Function 'IstFormel

Hintergrund: Ich will verhindern das Formeln versehentlich überschrieben werden, kann die Felder aber auch nicht sperren, weil in die Tabellen ständig neue Zeilen eingefügt werden (Die Formel-Zellen sollen dann kopiert werden). Über Bedingte Formatierung oder Daten Gültigkeit wollte ich eine Warnung bzw. Sperre einrichten wenn in einem Feld, in dem eine Formel stehen soll direkt ein Wert eingeben wird. Finde da aber keine Lösung.

Verstehe ich recht: Du hast einen Tabelle mit Formeln und Werten. Du und/oder andere Leute geben immer 'mal wieder in diese Tabelle etwas ein. Du willst sicher sein, daß dabei nicht die mühevoll erarbeiteten Formeln überschrieben werden. Ansonsten passiert in der Tabelle wenig nix.

Warum um Gottes willen nimmst Du dazu nicht die Datenmaske? Die geht so:

  • Die Eingabetabelle wird markiert und bekommt den reservierten Namen Datenbank oder Database (es geht auch ohne diesen Schritt, aber dann kann eine Abfrage kommen: „Excel hat erkannt…“). Wenn der Name aber besteht, ist schnurz, wo im Arbeitsblatt der Cursor steht, die Maske wendet die Eingaben  n u r  auf die so benannte Tabelle an.

  • Wählt man nun Daten > Maske, erscheint die Datenmaske, ein Eingabedialog, den Excel ad hoc aus dem Ist-Zustand der Tabelle strickt: Die Werte in der ersten Tabellenzeile sind die Namen der Eingabefelder, durch die weiteren Tabellenzeilen („Datensätze“) kann man in diesem Eingabedialog mit den Cursortasten blättern. Das geniale dabei ist: Formeln können keinesfalls überschrieben werden, sie sind stets ausgegraut.

  • Schickst Du nun einen Datensatz aus der Datenmaske mit OK ab, passieren nur sehr komfortable Dinge: obwohl die Datenmaske noch offen ist, schreibt Excel den neuen Datensatz als neue Tabellenzeile. Dabei erweitert es nicht nur selbständig den Bereich des Namens Datenbank, sondern kopiert auch  a l l e  Formate und vor allem  a l l e  Formeln von der vorletzten in die neue Tabellenzeile.

  • Jeden Datensatz schickst Du mit OK ab. In der Datenmaske kannst Du die Datensätze auch editieren und löschen, wobei komfortablerweise der Name Datenbank angepaßt wird. Die Datenmaske beendest Du mit Esc und brauchst nur zu speichern.

  • Sicherer und komfortabler geht’s für diese einfache Sache nicht. Und zur Massenerfassung ist das Ding auch noch geeignet: 5/9 wird zu 05.09.2011, 5/9/6 wird (je nach Optionseinstellung) zu 05.09.2006 oder 05.09.1906, 16: wird zu 16:00, 16:5 wird zu 16:05.

  • Die Datenmaske ruft man unter VBA mit einem Befehl auf:

    ActiveSheet.Dataform

Umrahmst Du diesen Befehl noch mit Code für Dokumentschutz aufheben/setzen, hast Du ein zwar auf niedriger Ebene, aber sehr alltagsgeeignet geschützten Datenerfassungsmechanismus.

HTH.

Markus
______________________

Ich wundere mich immer wieder, wie wenig populär diese Datenmaske ist. Da sie arbeitsblattbezogen ist, kann man in jeder Arbeitsmappe ganz viele Datenmasken haben. War ich am Arbeitsplatz gezwungen, Daten in viele unterschiedliche Excel-Tabellen einzugeben (Access war bei uns gesperrt, zu unsicher; Daten waren in Branchensoftware; meine Tabellen dienten nur der Strukturierung, der Eingabevorbereitung und der Auswertung), habe ich regelrecht in Datenmasken gebadet.

*) Sollte sich mein Problem in einer höheren Version lösen lassen wäre das ein Grund für ein Upgrade, daher auch dann bitte Hinweis.

Die Datenmaske gibt’s schon mindestens seit Excel97. Machst Du dann auch einen Downgrade? :smile:)

Danke Markus

Mir läuft mal wieder die Zeit davon, nächste Woche stehen andere Theman an und erfahrungsgemäß ist derThread dann schon im w-w-w Archiv (Warum w-w-w die Sachen immer so schnell archiviert weiß der Henker.

Ich werde Deine Tipps aber auf jeden Fall ausprobieren.

Nein, die Datenmaske kannte ich noch nicht.

Herzliche Grüße
Conrad

Hallo Holger!

Danke, muss ich mir mal in Ruhe anschauen.

Herzliche Grüße
Conrad