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.

Datum darstellen
#1
Hey Leute.

Ich habe hier ein kleine Problem.
Ich habe zwei Datums. Z.b. den 10.10.2010 und den 10.11.2010.

Nun habe ich eine Formel die diese beiden Daten verarbeitet. =BDP("EUR/USD 1110210@10102010 Curncy"","bid-price")

vor dem @ steht das hintere Datum, hinter dem @ das vordere Datum in MMDDYYYY.

Nun habe ich tausende Datums die ich so in diese Formel packen muss. Die will ich natürlich nicht alle händisch eingeben.

Das Problem - die Formel (BDP) basiert auf einem Excel Add-in mit einer relatime API - und die Formel funktioniert nur richtig, wenn die Werte "hart" in der Formel stehen.
Sobald ich anfange mit Text() das Datum aus den Zellen in die Formel zu verlinken funktioniert die Formel nicht mehr und spuckt falsche Werte aus.

Hat jemand eine Idee, wie ich das Datum als harten Wert in die Formel bekomme ohne ihn jedes mal händisch einzutippen?
Antworten Top
#2
Hallo,

mit VBA und cells.formula sollte es gehen.

mfg
Antworten Top
#3
(05.07.2018, 20:00)StrammerMax schrieb: Hat jemand eine Idee, wie ich das Datum als harten Wert in die Formel bekomme ohne ihn jedes mal händisch einzutippen?

Hallo,

z.B. per VBA. Wink

Gruß Uwe
Antworten Top
#4
VBA habe ich schon genutzt - kann ich aber nicht.

Könnte mir vielleicht jemand einen Anhaltspunkt geben mit dem ich weiter experimentieren kann?

Ich habe euch mal eine Beispieldatei angehängt wie das bei mir ungefähr aussieht.
Für alle Daten soll die Formel aufgestellt werden.
Das = vor der Formel fehlt jetzt, weil ich das Add-On hier nicht habe und ich die Formel sonst nicht speichern kann.


Angehängte Dateien
.xlsx   Template.xlsx (Größe: 9,85 KB / Downloads: 5)
Antworten Top
#5
Hallöchen,

hier habe ich gestern mal ansatzweise beschrieben, wie man eine Formel per Formel erstellen kann Smile
http://www.clever-excel-forum.de/Thread-...#pid126127
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
=BDP("EUR/USD 1110210@10102010 Curncy"","bid-price")

wird allgemein (habe ein überschüssiges " gelöscht) zu

=BDP("EUR/USD "&TEXT(B1;"TTMMJJJJ")&"@"&TEXT(A1;"TTMMJJJJ")&" Curncy","bid-price")
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • StrammerMax
Antworten Top
#7
(06.07.2018, 07:27)LCohen schrieb: =BDP("EUR/USD 1110210@10102010 Curncy"","bid-price")

wird allgemein (habe ein überschüssiges " gelöscht) zu

=BDP("EUR/USD "&TEXT(B1;"TTMMJJJJ""@""")&TEXT(A1;"TTMMJJJJ")&" Curncy","bid-price")

So geht das eben genau nicht.

=BDP("EUR/USD "&TEXT(C6;"MMDDYY")&"@"&TEXT(A6;"MMDDYY")&" Curncy"; "px bid")

--> dann spuckt er falsche Werte aus. In der Formel müssen die Werte "hart" integriert werden.
Antworten Top
#8
Tja, wenn Du meine Lösung nicht 100%ig übersetzst ... wieso machst Du aus JJJJ statt YYYY einfach YY? Die Vertauschung von M und D scheint hingegen korrekt zu sein; war nicht so einfach zu erkennen aufgrund Fehlers im Beispiel. Also Deine Schuld, nicht meine.

Es gibt in keiner einzigen Excel-Formel die Beschränkung auf einen harten String, anstelle einer stringerzeugenden Formel.
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • StrammerMax
Antworten Top
#9
LCohen mit deiner Ausführung hat es funktioniert. Vielen, vielen Dank.

Brauche aber nochmal eure Hilfe.

=BDP("EURUSD Curncy";"INTERVAL_END_VALUE"; "END_DATE_OVERRIDE=20060201"; "MARKET_DATA_OVERRIDE=px_last")

Der harte Wert 20060201 = 01.02.2006 soll wieder durch das Datum im Format TTMMJJ aus Zelle  B1 erstezt werden.

Die vielen Anführungszeichen verwirren mich - bekomme es nicht zum laufen.

=BDP("EURUSD Curncy";"INTERVAL_END_VALUE"; "END_DATE_OVERRIDE="&TEXT(B1;"TTMMJJ)"; "MARKET_DATA_OVERRIDE=px_last")

=BDP("EURUSD Curncy";"INTERVAL_END_VALUE"; "END_DATE_OVERRIDE="TEXT(B1;"TTMMJJ)"; "MARKET_DATA_OVERRIDE=px_last")

=BDP("EURUSD Curncy";"INTERVAL_END_VALUE"; "END_DATE_OVERRIDE=&TEXT(B1;"TTMMJJ)"; "MARKET_DATA_OVERRIDE=px_last")


Funktioniert leider alles nicht.
Antworten Top
#10
=BDP("EURUSD Curncy";"INTERVAL_END_VALUE"; "END_DATE_OVERRIDE="&TEXT(B1;"TTMMJJ"); "MARKET_DATA_OVERRIDE=px_last")

wobei Du evtl. Unzulänglichkeiten der Forumssoftware selbst noch verbesserst, z.B. EURUSD als EUR/USD.
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • StrammerMax
Antworten Top


Gehe zu:


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