Zelle mit Formel einfrieren VBA
#1
Hallöchen liebe leute, :)


Nee relativ einfache frage und zwar kann ich Zellen,die Formeln beinhalten, so einfrieren das sie obwohl ihre Zellen zu dennen sie bezug haben geändert werden,die momentanen Ergebnisse trozdem noch Angezeigt werden?

Und wenn ja, mit welchem Befehl dann auch wieder entfrieren?

Als beispiel würd ich gerne eine spalte mit 13 reihen einfrieren wollen wie unten angegeben wie lautet für sowas der befehl?




mfg 

E


Angehängte Dateien Thumbnail(s)
   
Top
#2
Hi,

vielleicht erklärst du auch freundlicherweise, wozu das gut sein soll?
Mir fällt dazu nur ein, deine Formelergebnisse als Werte einzutragen und beim entfrieren, die an anderer Stelle zwischengespeicherten Formeln wieder statt der Werte dort einzutragen
Mit freundlichen Grüßen  :)
Michael
Top
#3
Puh,ähm ja die erklärung dazu ist verdammt lang.

Die Idee war ursprünglich das ganze mit Mehrfach-Operation zu lösen.Jedoch bezieht sich die formel,die ewig lang ist, auf diverse Tabellen die wiederum abhängig sind von einigen variablen.


Diese variablen ändern sich jedoch mit jeder spalte die man in dieser Tabelle nach rechts geht, also war der plan mit vba dem user die Zellen anzugeben die er ändern möchte und dann nur die variablen zu ändern und zwar  per vba und die Formel gleich zu lassen.

Besser kann ich glaub ich es nicht erklären  :20:

Zur Referenz das ist die formel, kann sie auch nicht ändern,also war das die einfachste lsung 
Code:
=WENN(UND($B$6="Vielleicht";$B$5="Ja");INDEX(dxr;$B$9+H42)/INDEX(dxr;H42);WENN(UND($B$6="Vielleicht";$B$5="Nein");INDEX(dxnr;H42+$B$9)/INDEX(dxnr;H42);WENN(UND($B$6="auch";$B$5="Ja");INDEX(dyr;H42+$B$9)/INDEX(dyr;H42);WENN(UND($B$6="auch";$B$5="Nein");INDEX(Dynr;H42+$B$9)/INDEX(Dynr;H42);WENN(UND($B$6="Nein";$B$5="Ja");INDEX(dur;H42+$B$9)/INDEX(dur;H42);WENN(UND($B$6="Nein";$B$5="Nein");INDEX(dunr;H42+$B$9)/INDEX(dunr;H42);0))))))*$B$12
also ja hab schon einiges dazu überlegt und oben genanntes wäre wirklich die einzigste lösung die mir dazu einfällt
Top
#4
Leider erklärst du nicht, warum das Einfrieren nötig ist? Wozu soll das dienen?
Mit freundlichen Grüßen  :)
Michael
Top
#5
Links die weiße spalte hat einen direkten Bezug zur Formel.

Die oberste Zeile sind zwar 3 weiße Zellen diese sind jedoch nur stellvertretend für die Änderung einer Zelle und diese Zelle,wenn die sich ändert,ändert tabellen woran sich die funktion ja bedient.

Das heißt also wenn ich einen wert mit Spalten wert "XX" ausrechnen will und jeder iteration in der zeile geht das.Rutsch ich eine spalte jedoch weiter und ändere denn wert erneut ändert sich auch die erste spalte da der wert ja geändert wurde und dieser wiederum ja bezug auf alle tabellen hat mit der diese funktion , funktioniert.


Kurzfassung: Funktion bedient sich an Tabellen, diese sind abhängig von einer zelle,diese zelle will ich 3 mal ändern (daher die 3 weißen zellen) jedesmal wenn ich sie ändere ändert sich die vorgehnde spalte auch.

Und mit der funktion selber in VBA komm ich garnicht zurecht da ich sie garnicht erst verstehe.
Top
#6
Sorry, aber aus dem Tabellenbild und deinen Erklärungen werde ich nicht schlau und wo ist etwas mut VBA?
Mit freundlichen Grüßen  :)
Michael
Top
#7
Hat sich erledigt habs Hingekriegt :)

Trotzdem vielen dank! Sleepy
Top
#8
Hallo,

das ist gut wenn du dein Problem lösen konntest, aber es wäre nett wenn du uns auch mitteilen würdest wie das jetzt letztendlich gelöst hast.

Damit würdest du auch anderen Usern helfen die das gleiche Problem haben und über die Suche auf diesen Beitrag stoßen.
Gruß
Peter
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste