誕生日にもらった意外なもの

【やりたい事】
以下の画像をご覧ください
黄色のセルの数字をマクロ⇒計算・入力したい

本売上の表がもともとあります。同表の行の数を色がついていない部分2行
と灰色の行1行を数えたいです

調べましたが、自分のスキルではわかりませんでした。
特に色がついている行を数えるマクロについて教えて欲しいです

ヒントでももちろん良いのでご存じの方、教えて下さい

「【マクロ】色のついている行を数える」の質問画像

A 回答 (5件)

灰色のカラーコードの実際の値が判らないので、白色でない場合にカウントするようにしました。


B9:B11のセルで、白色でないセルの数をカウントしています。

Sub 色付き行カウント()
Dim ws As Worksheet
Dim count As Long: count = 0
Dim rng As Range
Dim r As Range
Set ws = ActiveSheet
Set rng = ws.Range("B9:B11")
For Each r In rng
If r.Interior.Color <> RGB(255, 255, 255) Then
count = count + 1
End If
Next
MsgBox ("行数=" & count)
End Sub
    • good
    • 1
この回答へのお礼

動きました。1~10までご指導いたきまして
りがとうございます

お礼日時:2024/08/15 07:57

実績数には触れていない集計なのでアレレ?と感じましたが、項目の「全件数」=「集計行の合計数」という認識で作成しました。




' いつも同じ範囲内で同じ背景色の行を集計します
Sub RowCounter()

    Dim i As Long
    Dim collorNumber As Long
    Const B As Long = 2
    Dim whiteRowCount As Long
    Dim grayRowCount As Long
    For i = 9 To 11 ' (9行目から11行目を集計)
        collorNumber = Cells(i, B).Interior.ColorIndex

        Select Case collorNumber
            Case Is = -4142, 2 ' 無着色か白色
                whiteRowCount = whiteRowCount + 1
                Range("B3").Value = whiteRowCount
            Case Is = 15, 16, 48 ' 灰色 6階調分
                grayRowCount = grayRowCount + 1
                Range("B4").Value = grayRowCount

        End Select

    Next i

    Range("B2").Value = whiteRowCount + grayRowCount

End Sub
    • good
    • 0
この回答へのお礼

細かい所までコードを作って頂きまして
ありがとうございます

よく、分析して参考にさせて頂きたいと思います
ありがとうございます

お礼日時:2024/08/15 08:00

以下のように推測した前提で回答します。

推測が間違っていたらすみません。
これって、実績0の行を灰色にしている。そして、本当にやりたいことは実績0の行数を数えたい、ではないでしょうか?

◆実績0の行数の数えかた
数式ならB4セルの式は、『=COUNTIF(B9:B11,0)』です。
マクロならB9~B11セルが『=0』のセル数を数えるか、マクロでも使えるワークシート関数を使えばよいです。

灰色行の計算方法をたずねていながら、同じように計算する必要のあるはずの、色なし行について記載されていない点を不思議に思いました。


もう一点付け加えると、実績0の行を灰色にする作業は条件付き書式を使えば自動でできます。
    • good
    • 1
この回答へのお礼

ご指摘ありがとうございます

本当にやりたい事は、上の表の
灰色行1と白の行2と合計の行3を求めたいです

アドバイスありがとうございます

お礼日時:2024/08/15 07:59

こんばんは



>ヒントでももちろん良いのでご存じの方、教えて下さい
ご質問文にある通りに、セルの色をチェックなさりたいのなら
 Range.DisplayFormat
を利用すれば宜しいでしょう。(条件付き書式の色にも対応できます)
https://learn.microsoft.com/ja-jp/office/vba/api …

条件付き書式は無視しても良いのなら、普通に
 Interior.Color
でも色をチェックできます。
https://learn.microsoft.com/ja-jp/office/vba/api …
    • good
    • 0
この回答へのお礼

御指導お願いありがとうございます
色→灰色は、てにゅうりょくです

interior.color ですね
やってみます。

ありがとうございます

お礼日時:2024/08/11 08:32

色は手入力でつけたのですか。

それとも、条件付き条件付き書式でつくようにしたのですか?
どちらでしょうか。
それによって対応が異なります。
    • good
    • 1
この回答へのお礼

色は、てにゅうりょくです
ヒントありましたら、御指導お願いします

お礼日時:2024/08/11 08:30

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A