プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
単純にA1からA5までを青で塗りつぶした表で
A6にセルを塗りつぶした数(この場合だと5)が
出る方法(関数?)はあるでしょうか。
塗りつぶしたセルには文字も数字も入力なしで、
ただ色をつけるだけにしたいのです。

A 回答 (4件)

残苑ながら、塗りつぶしたセルをチェックするワークシート関数は存在しません。



条件付書式でセルのデータを元に色をつけているなら、その元データをチェックすれば可能ですが、
単純に書式メニューから色をつけただけだと不可能です。
VBAでユーザー定義関数を作るしかありません。
    • good
    • 0
この回答へのお礼

VBAという言葉すら知らなかったのですが(><)
ここで教えて頂いてやりたかったことができました。
ありがとうございました。

お礼日時:2008/04/23 17:20

VBAでユーザ定義関数を作成して「背景色が青色のセルの数を数える」ことは可能です。

過去問もたくさんあります
http://okwave.jp/qa2277000.html

>ただ色をつけるだけにしたいのです。
でも「色をつける操作」は関数の再計算のトリガになりません。ですからAlt+Ctrl+F9で強制再計算させる必要があります。

裏技的には一定間隔で強制再計算を行わせるマクロを実行しておく方法も考えられますが、計算式の多いシートを頻繁に再計算していたら実用に耐えないかもしれません。

試してみるなら以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。マクロの実行はワークシート画面に戻ってALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。(1回実行すれば後は2秒間隔で再実行します。止めたいときはESCキーを2秒以上長押ししてください)

Sub MacroK()
SendKeys "%^{F9}"
Application.OnTime Now + TimeValue("00:00:02"), "MacroK"
End Sub
    • good
    • 0
この回答へのお礼

何もわからなかったのですが、載せていただいたURLのとおりにしたら私でも出来ました。
まさにやりたかったことです。
ありがとうございました。

お礼日時:2008/04/23 17:17

こんな方法もあります。


「色付きセルを計算する」
http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=3 …

参考まで。
    • good
    • 0

時どきこの質問だ出るが


下記のことを頭に明記のこと。
難しいというより原理がわかってないからの質問。
ーー
エクセルの関数の、引数と結果は、セルの「値」を使い計算・判別・処理等して、結果はセルの「値」を返すものである・
一方質問で言う、色の設定は「書式」にあたり、セルの属性としても異なる世界のものである。
すなわち関数では、セルの書式を判別できない(ようになっている)。
ーー
以上が大原則。
ただユーザーのニーズに押されて、マイクロソフト社は、将来何とかするかもしれない。
書式重視の姿勢は2007などに感じる。
ーーー
「関数で」というから出来ないだけで、ユーザー定義関数を作れば何ということ無い。
ーー
例データ A列は書式のパターンの色設定状態
A1:B4
A列   B列
赤3
sっていなし-4142
赤3
黄6
グリーン
4
ーー
標準モジュールにたった中身1行。
ユーザー関数
Function clr(a)
clr = a.Interior.ColorIndex
End Function
ーーー
B列B1に =clr(A1)  と入れてB4まで式を複写
。B列にでた数値をCountIFなどで使えばよい。
ーー
VBAで全てやることも出来る。
    • good
    • 0
この回答へのお礼

詳しく説明ありがとうございました。
始めは何を言われてるのかすら解らず、
VBA?
マクロ?
という感じだったのですが、
調べていくうちに解ってきました。

ありがとうございました。

お礼日時:2008/04/23 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!