色のついたセルを合計このページでは、ワークシートでユーザー定義関数を利用する手順をご紹介します。今、ワークシートに以下のようなデータがあり、目印としてセルに赤い色がつけてあります。この色のついたセルだけを合計するにはどうすれば良いのでしょうか?実は、ワークシート関数の中にはセルの色を取得できる関数はありません。マクロを使えば可能です。ユーザー定義関数を作り、色を取得するようにしてみましょう。Editorを起動します。アクティブブックのプロジェクトに標準モジュールを挿入します。ユーザー定義ワークシート関数は標準モジュールに作成する必要があります。挿入され、コードのウィンドウが開きます。このコードのウィンドウにユーザー定義関数を作成します。ブラウザ上で、以下のマクロをマウスで範囲選択してコピーし、コードのウィンドウに貼り付けてください。このユーザー定義関数は指定されたセルの色番号を返します。いうユーザー定義関数が作成されました。それでは、このユーザー定義関数を使ってセルの色を調べてみましょう。入力し、下のセルにもコピーします。セルの色がわかれば、SUMIF関数を使って色番号が3の行だけを合計することができます。ような式を入力します。このようにすれば色別の集計ができます。色などの書式を使って計算するときには、大きな注意点が一つあります。それは、書式を変更しても自動再計算されないということです。セルの値を変更すれば自動的に再計算されますが、セルの色を変えても再計算はされないのです。色をつけても、それだけでは計算結果には何も変化がありません。書式の変化を計算にも反映させるためには、何らかの方法で再計算をする必要があります。確実な方法としては、数式を再入力したり、すべての数式を強制再計算する方法があります。Ctrl+Alt+F9キーを押します。これで計算結果が正しく更新されます。NOW関数などの揮発性の関数(常に再計算される関数)を式に含める方法もあります。なるので計算結果には変化はありません。このようにすると、どこかのセルの値を変更したり、F9キーを押すと再計算されるようになります。多用するとエクセルの応答が遅くなるので注意してください。書式を変更しただけでは再計算されないことは同じです。このユーザー定義関数は基本的には作成したブックの中で有効です。モジュールの中のコードを削除します。計算結果を残しておくには、削除する前に、セル範囲をコピー、形式を選択して貼り付けで[値]を選択して貼り付けます。[(モジュール)の削除])を実行します。モジュールの場合は、モジュールは削除できないので、中のコードをすべて削除します)文字の色の取得は以下のユーザー定義関数でできます。関数を使う方法もあります。マクロシートや名前定義の中で使用します。入力するとA列のセルの前景色の番号が表示されます。