要望ボックス

トップ > 要望ボックス > 回答一覧 > 記事
要望ボックスへ
回答一覧へ



2022年5月11日【ID:0】

【6】要望ボックス


特定の色を数えるユーザー定義関数について、色を変えたタイミングで反映させる方法はありますか?
(参考:https://www.youtube.com/watch?v=kVaO0IGirGE

【回答】

色を変更する際に、他のセルからコピペするなどの場合は自動更新されますが、色を変更するだけでは自動更新されないです。
関数が更新されるタイミングは、引数に対して変更があった場合になります。
ただ、色を変更するだけでは、引数が変更されたとはならないみたいです。

上記の内容を踏まえて思いつく対策を2つ挙げますと以下になります。
※他にもいろいろあると思います。

①余分な書式もコピーされてしまいますが、色付けを書式のコピーなどにより行う

②リアルタイムの更新ではありませんが、変更後に別のセルを選択したと同時に更新する

「②」の場合は、対象のシートモジュール、もしくはブックモジュールにて特定のイベントプロシージャに以下の内容を記述する必要があります。

Application.CalculateFull
※「Application.Calculate」では計算されません。

「②」について、特定のシートのみに自動更新を適応する場合は、シートモジュールの「SelectionChange」を用います。
こちらは特定のシートに対し、セルの選択が変更されたタイミングで実行されるイベントプロシージャになります。

上記の画像のように選択して、下記の内容「Application.CalculateFull」を追記します。

これだけで完了です。
「Application.CalculateFull」ではなく「Application.Calculate」の場合、色変更では反応してくれないです。
なので、「Application.CalculateFull」にして、すべてに対して更新をするようにしています。

次にブック全体に自動更新を適応する場合は、ブックモジュールの「SheetSelectionChange」を用います。
こちらはシートモジュールで説明した内容と同じで、セルの選択が変更されたタイミングで実行されるイベントプロシージャになります。
違いは、すべてのシートの適応される点です。

上記の画像のように選択して、下記の内容「Application.CalculateFull」を追記します。

これだけで完了です。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
1分で読める小技集 1分で読める小技集





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 要望ボックス > 回答一覧 > 記事
要望ボックスへ
回答一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

2305940

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 要望ボックス > 回答一覧 > 記事
要望ボックスへ
回答一覧へ

メンバーに加入すると
多くの特典が得られます

・全作品ダウンロード
・コンテンツ閲覧管理
・チャットサポート


 詳しくはこちら 

閉じる

※メンバーページと連携すると
表示されなくなります