Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formel ignorieren
#1
Hallo Leute

Problem:
Ich trage in einer Zelle (Beispiel A2) eine Währungsumrechnung ein, die ich extern abfrage.
Ich möchte nun, dass der Wert sich ab heute (Beispiel Datum in A1) nicht mehr verändert, sondern dass die Abfrage künftig ignoriert wird.
Ich habe das bisher mit einem gewollten Zirkelbezug gemacht; also als SONST die Zelle selbst eingetragen, z.B.


in A1 ist ein Datum eingetragen
in A2 ist die Formel {=WENN(A1<=HEUTE();33.33;A2)} eingetragen ("33.33" steht für das Resultat der externen Abfrage)

Das erzeugt einen Zirkelbezug, wenn SONST wahr ist (also das Datum in der Zukunft liegt). Das funktioniert zwar (wenn die iterative Berechnung aktiviert ist), ist aber unbefriedigend, weil dauernd die störende Zirkelbezugswarnung erscheint und auch sonst unerwünschte Folgen auftreten können.

Ich stelle mir vor, dass es eine viel bessere Möglichkeit gibt, die Formel zu ignorieren und den Wert "einzufrieren", also im Beispiel "33.33" zu belassen, wenn das Datum in A1 in der Zukunft liegt.

Für Hilfe wie immer sehr dankbar
Peter Pan
Antworten Top
#2
Hallo,

das dürfte wohl nur mittels VBA lösbar sein.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallöchen,

Hier mal ein Ansatz. Das Makro kommt in das Codemodul der Tabelle mit den Daten.
Deine Abfrage könnte in A3 sein. Wenn Heute größer oder gleich dem Datum in A1 ist, dann wird der Wert aus A3 übernommen. Wenn so was im Prinzip passt, musst Du natürlich noch die Zellen und die Vergleichsoperatoren anpassen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Events deaktivieren
Application.EnableEvents = False
  'Wenn die Adresse $A$3 ist, dann
  If Target.Address = "$A$3" Then
    'Gehe bei Fehler zur Sprungmarke
    On Error GoTo errorhandler
    'Wenn das Heute >= Datum von A1 dann uebernehme Wert aus A3
    If Date >= Range("A1") Then Range("A2").Value = Target.Value
  'Wenn die Adresse $A$3 ist, dann
  End If
'Ende / Sprungmarke Fehlerbehandlung
errorhandler:
'Events aktivieren
Application.EnableEvents = True
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Vielen Dank!
Habe versucht, es genau so zu machen.
Funktioniert aber noch nicht.
Bei Datum heute oder älter übernimmt das Blatt die Zufallszahl aus Rates!B2.
Datum jünger ergibt aber 0 anstatt die bisherige Zahl.
Was habe ich falsch gemacht (siehe Beilage)?

Grüße
Peter Pan
Antworten Top
#5
Hallöchen,

steuern tust Du da süber die Vergleichsoperatoren, wie ich geschrieben hatte.

If Date >= Range("A1") Then Range("A2").Value = Target.Value


Hier wird verglichen, ob das aktuelle Datum ( Date ) größer oder gleich ist als das in A1. Ist das so, wird übernommen.

Wenn in A1 z.B. der 19.01. steht, passiert heute und morgen nichts. Übermorgen geht's dann los.

Nimmst Du <=, dann wird bis übermorgen übernommen und dann ist Schluss.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo Schauan

Das habe ich schon begriffen, ist ja nicht zu schwer. Blush 

Es funktioniert aber eben nicht, auch nicht, nachdem ich einiges angepasst habe.

Kannst Du bitte das Blatt in der Beilage anschauan?

Besten Dank.
Peter Pan
Antworten Top
#7
Hallöchen,

... Beilage...?

Würde ich ja machen wenn es eine gäbe
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Es scheint, sogar dafür bin ich zu blöd.

Nächster Versuch.
Antworten Top
#9
Hallo Peter,

wenn du deine Datei hochgeladen hast, musst du noch den rechten Button "Attachment hinzufügen" anklicken.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#10
Off topic:
Da dieser Fehler doch (vor allem in letzter Zeit) sehr häufig gemacht wird und ich höchstselbst  Blush anfangs durchaus Verständnisprobleme hatte:
Wäre es technisch nicht möglich, die Datei bereits nach Bestätigung des "Dateien auswählen"-Dialogs hochzuladen?
Löschen sollte natürlich dennoch möglich sein.

Ich schicke auch André eine PN mit meinem Beitrag.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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