Excel ユーザー定義関数 Color関数 再計算 について

Excel ユーザー定義関数 Color関数 の再計算について

  • [エクセルの学校] のダウンロードコーナーに 文字が赤いセルの合計を求めたり、セルの背景色が青いものの件数を求めたりする、 Color関数 が置いてあります
    エクセルの学校:Color関数 UFClr20171107
  • この Color関数 はセルの数値などを変更した場合は再計算してくれますが
  • セルの書式だけを変更(Fontの色などを変更)した場合は再計算してくれません
  • セルの書式だけを変更しても、変化したという情報が発生しないためです
  • で、どうするかですが
  • [方法1] 関数を使うワークシート側で=UFClrcntxx(yy,zz)+now()*0 を使って再計算させる → Color関数 はこれでは再計算しませんでした
  • [方法2] 関数内に Application.Volatile を置いて再計算させる → 「ユーザー定義関数の再計算」 などを参考に試してみましたが、Color関数 はこれでは再計算しませんでした
  • [方法3] 関数内で イベントプロシージャー Worksheet → SelectonChange を使って再計算させる → これで、セル移動すると再計算しますが、カーソル移動の度に再計算してしまい、実用に向かないと判断しました
  • で、どうするかですが
  • [対策1] [アドイン]タブ → [UFClr] → [再計算] ツールバー使って再計算させる
  • [対策2] UFClr関数 → [F9]キー使って再計算させる
  • で、どうするかですが
  • [希望1] セルの書式を変更したときに変化イベントを発生するように、Microsoft社が仕様変更するのを待つ
  • [希望2] Windows API を使って何とかならないか勉強する
  • と言うことで、何か良い案、意見などがあれば提案して下さい

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください