• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでの文字色を数える関数に関して。。。)

エクセルで文字色を数える関数について

このQ&Aのポイント
  • エクセルのセル内の文字色を数えるための関数について説明します。
  • 関数を使用して特定の色の文字が含まれるセルを数える方法を紹介します。
  • 複数の色が含まれるセルの文字色を数える方法についてご説明します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.11

kmetu さんの「セル範囲を()で囲む」を私のソースに適用させてもらって(^^; ん? (1) は【丸囲み数字1】ですか?では Function SpecialCell(TargetRange As Range, intColor As Integer) As Integer   '赤は3,緑は4,青は5,黄は6   Dim myCell   As Range   Dim intIDX   As Integer   Dim strVALUE  As String   For Each myCell In TargetRange     If myCell.Font.ColorIndex = intColor Then       SpecialCell = SpecialCell + 1       GoTo SkipFor     End If     If myCell.Interior.ColorIndex = intColor Then       SpecialCell = SpecialCell + 1       GoTo SkipFor     End If     If myCell.Value <> "" Then       For intIDX = 1 To Len(myCell.Value)         If myCell.Characters(intIDX, 1).Font.ColorIndex = intColor Then           SpecialCell = SpecialCell + 1         End If       Next     End If    SkipFor:   Next   End Function これで、=SpecialCell((D10,D8,D29,D49,D51,D57),3) のように書けばOKかと。

naccha
質問者

お礼

たびたびありがとうございます。 このコードを試したところ、無事D欄・E欄ともに計算してくれました。 そして恐縮ながらもう一つ教えていただけると助かります。。。 Dの縦欄は、セル内背景色を分けているのと、文字色は1色です。 (なので、背景色ごとのセル分けで集計するための問1でした) このセル内の背景色を4色で分けているのですが、中の文字色は関係なく、背景色の数字を数えるのはできますでしょうか? %を出す為に、現在背景色を手計算で問1で教えていただいた数字で割っております。。。 この背景色も計算できると非常に助かります。。。 (現在のD欄とE欄の計算式が壊れないよう) http://miyahorinn.fc2web.com/tips/s_02_02_04_02.html とりあえず、これを元に作成してみますけど、問題があればご教授下さいませ。 よろしくお願いたします。。。 そしてありがとうございました。。。 助かりました。。。

naccha
質問者

補足

ごめんなさい。下記のURLでいけました。 今までの経緯を思うと、壊れるの前提で書いてしまいましたw ありがとうございました。。。

その他の回答 (11)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

コードは以下のようにして、 Function SpecialCell(intColor As Integer, ParamArray targetRange() As Variant) As Integer '赤は3,緑は4,青は5,黄は6 Dim myCell As Range, I As Integer For I = 0 To UBound(targetRange) For Each myCell In targetRange(I) If myCell.Font.ColorIndex = intColor _ Or myCell.Interior.ColorIndex = intColor Then SpecialCell = SpecialCell + 1 End If Next Next End Function セルには、 =SpecialCell(3,D10,D8,D29,D49,D51,D57) のように入力してみください。

naccha
質問者

お礼

回答ありがとうございます。 問い1の方はとりあえず簡単そうなNO2さんの方法でうまくいきました。 ありがとうございました。 問い2の方で未だ苦戦中です。 よろしければまたご教授くださいませ。。。

関連するQ&A