てぃー
約定時のFOPPOSITION関数の挙動について
皆さんこんにちは。
以前から悩まされている挙動があり、何か解決ヒントをいただければと思い書き込みさせていただきます。
FOPPOSITION関数で保有情報を取得、表示しています。複数の項目を並べて表示しているので、通常は、***END***が同じ行に並んで表示されています。
ポジションの返済注文が約定したら、***END***の表示は、すべて1行ずつ上に詰まると思います。
ところが、なぜか1項目だけ消えずに残ってしまう項目があります。添付画像は、「銘柄名」がその状態になったときの例です。
このとき、関数を記述しているセルをダブルクリックしてあげると正しい表示に戻るのですが、それまではずっと古い情報が残ったままになってしまいます。
この症状がなぜ起きるか、また防止する方法があればご教示いただけないでしょうか。よろしくお願いいたします。
2018年10月31日
Ryo Ohno
てぃーさん、こんにちは!!
返信が遅くなりまして、申し訳ありません。
ダブルクリックしたときだけ、表示が更新されますか・・・
ちなみに、ダブルクリックをすると、セルは編集モードになりますでしょうか?
もし、編集モードになる場合は、編集モード中に表示が正常に戻るという動きになりますでしょうか?
2018年11月05日
てぃー
Ryo Ohnoさん、ご返信ありがとうございます。
はい、ダブルクリックすると編集モードになります。編集モードになって、再度、関数を入力した扱いになったら、表示が更新されるんだと思います。
ちなみに、注文が約定したときに、いつもこのような状態になるわけではありません。大抵の場合は正常に全列が更新されるのですが、たまに一部の列のみ表示が残ったままになるといった感じです。
2018年11月06日
Ryo Ohno
編集モード中に更新がかかるのではなく
編集モードから確定して、編集モードから抜けた時に更新がかかるんですね・・・
Excelのバージョンでは編集モード中に更新がかかってしまうという不具合があったので
それ絡みかと思いました・・・
違いそうですね・・・
自分は、***END***が二重になる事はよくあるのですが、
残念ながら、関数が一部だけ実行されないという状態になったことがありません。
岡三RSSの関数なので、計算方式が手動になってるというのも関係ないですし・・・
VBAから無理やり更新を掛けるという方法もあるのですが、
毎回起きないということを考えると負荷が心配です。
ちなみに発生した時ですが、FOPPOSITIONの表示先のセルを消して場合は
どのようになりますでしょうか?
なかなか厄介ですね・・・
2018年11月07日
てぃー
>編集モードから確定して、編集モードから抜けた時に更新がかかるんですね・・・
まさにその通りです…
幸か不幸か、今日はこの現象が起きないため、表示先のセルを消した場合にどのようになるか確かめられていません…
発注などはVBAを周期的に動かして処理しているため、その中でVBAから無理やり更新をかける方法も試してみたいです。VBAでセルの更新をかける方法をご教示いただけないでしょうか。
2018年11月07日
Ryo Ohno
幸か不幸か発生しませんか・・・
このままずーと発生しないことを祈ります・・・
VBAでセルの計算式を更新するには
以下のように、Formulaというメソッドを使用すると、
編集モードの様に上書きしたのと同じような状況になります。
Range("A1").Formula = "=FOPPOSITION(""銘柄コード"",A2,""0"")"
これで解決すると良いのですが・・・
2018年11月08日
てぃー
Ohnoさん、
VBAでのセル編集モード再現方法ありがとうございます。
肝心の症状ですが、本日も発生しません…
これまで必ず1日に1回は起きてたんですが…
本当にこのままずーっと発生しないのかなあ…
また発生し始めたら、Formulaを試してみます!
2018年11月09日
てぃー
Ohnoさん、
本日、めでたく?発生しました!
それで、FOPPOSITIONの表示先のセルを消してみたのですが、正しい位置に***END***が表示されました。
ということは、VBAの処理では、関数を更新する他に、表示先のセルをクリアする、でもよいということになるのでしょうか…
2018年11月12日
Ryo Ohno
てぃーさん、めでたく発生しましたか(笑
表示対象のセルを消した場合に、再表示がかかる場合は、
その表示対象のセルのクリア処理をVBAで入れてあげて下さーい。
多分、関数の更新処理はなくても大丈夫だと思います!!
岡三RSSの関数は、処理負荷の軽減のためか、
表示対象のセルが書き出しをする内容と同じ場合は、
再表示を行わないようになってるみたいです。
※内部を完全に知ってるわけではないので、正確には違うかもしれませんが・・・
通常は、ポジションが更新されると、それを無視して更新がかかるのですが、
何かの拍子に変わらない時があるみたいです。
自分も何回か遭遇しました(笑
2018年11月13日
てぃー
Ohnoさん、ありがとうございます。
さっそくセルのクリア処理を入れることにします。
岡三RSSはクセをうまくケアしてあげる必要がありますね。
解決できて大変助かりました。
ありがとうございました。
2018年11月14日