みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルVBAについて

現在、エクセル2010を使用し文字色が黒だったら1と加算しそれ以外は0というVBAを
VBA素人ながら、コピペしながら組んでいました。

以下

'ColorIndex = 1 は、黒です 3は赤 黄色は7 青は 5
'============================================
Function fcolor(a As Range, b As Integer)
Dim c As Range, cu As Integer, frg As String
Application.Volatile

For Each c In a
With c.Font
If b = 1 Then
If .Color = vbBlack Then cu = cu + 1
Else
If .ColorIndex = b Then cu = cu + 1
End If
End With
Next
fcolor = cu
End Function

という風にし、範囲を=fcolor(D3:E37,1)としていますが、
本当なら”0”と表記されるべきなのですが”66”となってしまいます。
VBAど素人なのでよろしくお願いします。

投稿日時 - 2013-03-12 16:41:15

QNo.7989799

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

範囲D3:E37の70セルの内、66セルはフォント色=黒だけど、条件付き書式でフォント色を黒以外で表示しているって事じゃないかな?

条件付き書式で設定したフォント色はColorやColoeIndexプロパティでは取得できません。

投稿日時 - 2013-03-12 17:07:37

補足

回答ありがとうございます。
ルールのクリアなどしてみましたが変化はありませんでした。

投稿日時 - 2013-03-12 17:32:19

あなたにオススメの質問