エクセルのセル内の文字色に関してのマクロを下記の通り書きました。
Function SpecialCell(targetRange As Range, _
intColor As Integer) As Integer
'赤は3,緑は4,青は5,黄は6
Dim myCell As Range
For Each myCell In targetRange
If myCell.Font.ColorIndex = intColor _
Or myCell.Interior.ColorIndex = intColor Then
SpecialCell = SpecialCell + 1
End If
Next
End Function
その後答えを求めるセルに
=SpecialCell(D5:D125,3)
これはちゃんと表示できます。
しかし、
=SpecialCell(D10,D8,D29,D49,D51,D57,3)
このようにセルの個別ごとに求めようとすると
#VALUE!
が出ますので引数が間違っているのだとは思うのですが、
この場合はどうすればよろしいでしょうか?
また、セル内に複数の色つき文字がある場合、
例えば同一セル内に
(1)(2)(3)
とあって、
(1)が赤
(2)が青
(3)がピンク
とした場合、
=SpecialCell(D5:D125,3)
これでは0と出てきてしまいます。。。
この場合はどういう風に数式をいれればよいのでしょうか?
以上2点ほどご教授いただけると助かります。
よろしくお願いいたします。。。
No.2
- 回答日時:
=SpecialCell((D10,D8,D29,D49,D51,D57),3)
セルの指示を括弧で囲むといけますね。
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)
のように入力してみください。
回答ありがとうございます。
問い1の方はとりあえず簡単そうなNO2さんの方法でうまくいきました。
ありがとうございました。
問い2の方で未だ苦戦中です。
よろしければまたご教授くださいませ。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/01/06 08:39
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) excel2013 色付きセルの値合計 3 2023/02/28 11:48
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/11 08:33
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
マクロを実行すると画像がズレ...
-
セル背景や文字を点滅させる方法
-
【マクロ】ファイル名の変更に...
-
範囲指定をしてPDF保存vba
-
EXCELのセルや文字色の反映
-
excelで セルの移動時に...
-
クリックすると文章が表示され...
-
セルがクリックされた回数をカ...
-
太字に設定されているセルの個...
-
セルの値が変ると自動でマクロ...
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
Excelで、図形内の文字をセルに...
-
小数点以下の文字だけ書式を変...
-
エクセル マクロ 相対パスか...
-
【EXCEL】先週の月曜日の日付を...
-
Excelで挿入した図をセルの中央...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
VBA 見つからなかった時の処理
-
エクセルでの検索ボックスの作...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
【EXCEL】先週の月曜日の日付を...
-
EXCELのセルや文字色の反映
-
セルがクリックされた回数をカ...
おすすめ情報