Wie Excel Formeln schützen

HONKITONKI

Lt. Commander
Registriert
Mai 2003
Beiträge
1.179
Wie Excel Formeln schützen?

Hallo, wollt mal fragen wie man Formeln vorm überschreiben schützen kann.
Habe zwar herausbekommen wie ich sie vor Eingaben in das Feld schützen kann, aber ich will noch was schwierigeres.
Man soll schon noch Zahlen eingeben können, aber damit nicht die Formel killen.
So daß gleich der Wert ausgerechnet wird, gibts da eine Möglichkeit.
 
Zuletzt bearbeitet:
Versteh ich nicht.
Du gibst die Zahlen doch in die Bezugsfelder ein und nicht in das Feld mit der Formel. So lange du nichts in das Formelfeld eingibst, ändert sich die Formel auch nicht.

zB. A1 = 1; B1 = 1; Feld C1 enthält Formel: "=A1+B1"; Ergebnis in Feld C1 = 2

PS: Vielleicht hab ich dich aber auch falsch verstanden, dann vergiss mein Gekrakel.
 
Re: Wie Excel Formeln schützen?

Jup genau das meine ich aber, das ich die Daten in das Formelfeld eingebe und damit die Formel nicht schrotte, und die dann auch noch gleich das Ergebnis ausrechnet.
Wie es normalerweise abläuft ist schon klar nur dieser Fall ist ein wenig komplizierter.
 
Ob das geht weiß ich leider nicht. Ich versteh den Sinn auch nicht ganz. Du siehst dann ja garnicht mehr wie sich das Ergebnis im Formelfeld zusammensetzt. Das kann nach nem Halbenjahr oderso ziemlich Verwirrung stiften. :D
 
Die Daten die eingefügt werden sollen wurden in einer anderen Tabelle falsch eingegeben/berechnet, nun sollen die in eine Neue übertragen werden.
Da hab ich mir gedenkt ob es da nicht eine Lösung zu dem Problem gibt, so das dann wieder die richtigen Daten dastehen würden.
Übersichtlichkeit ist kein Problem, darauf kommt es bei der Sache so nicht an.
 
Eben:

A1 = 1
A2 = 3

B5 = A1 + A2


Jetzt kannst du das Dokument vor Bearbeitung schützen indem du über "EXTRAS" -> "SCHUTZ" -> "Arbeitsblatt schützen" oder "Arbeitsmappe schützen" gehst.

Mit oder ohne Kennwort.

Das Ganze schützt aber alles. Um bestimmte Zellen von diesem Schutz auszuschließen (um Eingaben in Felder zu gestatten -> in unserem Beispiel A1 und A2), musst du auf die Zelle klicken, dann mit der rechten Maustaste in das Kontext-Menü. Dort dann -> "Zelle formatieren" -> letztes Register "Schutz" und dort bei "Gesperrt" das Häkchen wegmachen.

Solltest Du jetzt das Dokument schützen bleibt diese Zelle ungeschützt und Eingaben bleiben erlaubt.

Ich hoffe das hilft Dir weiter. :)

mfg
Damokles
Dozent für IT Hard- und Software
 
Um Felder aus einer Tabelle in eine Andere zu bringen machst du folgendes:

Feld A1 in Tabelle 1 = 1

Feld A1 in Tabelle 2 soll gleich Feld A1 in Tabelle 1 sein.

Formel in Tabelle 2 Feld A1 = "='Tabelle 1'!A1"
 
@Damokles
Ne das mein ich leider nicht, sondern:
In A1 steht z.b. als Formel =A1/2
wenn man nun eine 4 eintragen würde ist die Formel normalerweise weg, ich möchte aber das ich eine 4 eingebe und wenn ich ins nächste Feld gehe in A1 die ausgerechnete 2 steht.
Die Daten werden übrigends mit Strg+C und Strg+V aus einem anderen Program geholt.
 
Zuletzt bearbeitet:
soweit ich weiss kann man das nicht machen - Dein Beispiel geht im ürbigen überhaupt nicht, weil es sich um einen Cirkelbezug handelt.

Und ein Feld, in dem eine Formel steht wird in jedem Fall durch eine neue Eingabe überschrieben. Die einzige Möglichkeit, dies zu umgehen wäre ein Makro unter VBA. Dann malst Du Dir einen Button und dann prüft das Makro die Felder und verteilt die entsprechenden Werte automatisch auf die Felder und trägt im nachinein die Formel wieder ein.

Grüße
DanGermany
 
Das geht leider nicht so, wie du es vor hast. Dabei werden nämlich die Formeln immer
überschrieben - einen solchen "Schutz" gibt es nicht. Was du aber machen kannst ist,
dass du diese Werte in ein anderes Tabellenblatt einfügst, aber das Tabellenblatt mit
den Formeln sich auf dieses Bezieht.

Sprich du hast folgendes gegeben:
Tabellenbalätter: Tabelle1; Tabelle2
eingefügter Wert (mit Strg + C) in Tabelle2; A1

Formel in Tabelle1; A1: "=Tabelle2!A1/2"
 
Zuletzt bearbeitet:
@Dangermany
Hast du da mal einen Vorschlag wie das ausehn könnte, den Button malen krieg ich ja noch hin aber der Rest ist zur Zeit zu hoch für mich.
Sieht aus wie C++ das war noch nie meine Stärke. :(
 
Hier mal ein kleiner VBA Beispielcode:

Sheets("Tabelle1").Select 'dies wählt Tabelle 1 aus
Range("A1").Select 'Hier wählst Du die entsprechende Zelle A1 an
meineVariable = ActiveCell.Formula 'Damit kopierst Du den Inhalt (Wert oder Text in eine lokale Variable)
Range("B1").Select 'Nun wechsel ich die Zelle auf B1
ActiveCell.Formula = meineVariable/2 /der Wert aus A1 wird halbiert und in die Zelle hineingeschrieben

PS: Du könntest auch ActiveCell.Value verwenden ... lustigerweise müssen Variablen in VBA unter Excel nicht definiert werden. Somit kannst Du recht unproblematisch mit Zellenwerten arbeiten.

...

Ich habe mir das alles selbst beigebracht, indem ich einfach mal auf Extras ->Makros -> Aufzeichnen geklickt habe und dann einfach ein wenig hin und her gewechselt habe - dann macht man Stop und schaut sich das Makro an (Alt+F8) und dann auf bearbeiten :-)

Grüße
DanGermany
 
@Dangermany
Na besten Dank, hilft mir sicher weiter.
Wird heut wieder n langer Abend mit probieren :-)
War wohl doch kein leerer Spruch vom Lehrer das C++ immer wieder auf uns zurück kommt.
 
Ich finde die Sprache eigentlich viel einfacher als C++ :-)

Zum Vergleich:

while (Bedingung)
{
int a=1;
int b = 2;
int c= a+b;
} //Das war C++ :-)

while (Bedingung)

a= 1
b= 2
c=a+b

Wend 'Das war VBA :-)

for (int i = 1; i<=3; i++)
{
a++;
}

for i=1 to 3

a=a+1

Next

Praktisch ist auf jeden Fall auch die Online Hilfe von VBA.

Grüße
DanGermany
 
Zurück
Oben