[[20040710221510]] 『条件付書式の値のみを合計するには?』(誠) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件付書式の値のみを合計するには?』(誠)

条件付書式で色が付いている値のみを合計するにはどうすればいいでしょうか。


[[20040326113042]]『色の付いたセルだけの数の合計』(H.O)

が参考になりませんでしょうか。

 または、その条件付書式に入れておられる条件で合計するかでしょうか。
 (川太野鮎郎)

ただ、色のついた%を合計したいだけなんです。

 もう少し具体的に提示していただければ、回答が出やすいと思いますよ^^
 (川太野鮎郎)

 おはようございます。。。
 ただ、合計したいということであれば、、
 編集→ジャンプ→セル選択→条件付き書式設定で
 コマンドの「合計の欄」を見るのはどうでしょう?
 と説明している内に記録すればいいのではないかと。。
 記録しちゃいましたぁ。。^^;
 よかったら、参考にしてみておくんなましぃm(__)m
(夏目雅子似)
 Sub 条件付き書式設定()
 '
 ' Macro1 Macro
 ' マクロ記録日 : 2004/7/11  ユーザー名 : 夏目雅子似
 '

 '
    Dim i As Long
    Dim MyData As Variant
    Dim C As Range
    With ActiveSheet
        .Range("A1").CurrentRegion.SpecialCells(xlCellTypeAllFormatConditions).Select

                On Error Resume Next
                For Each C In .UsedRange.SpecialCells(xlCellTypeAllFormatConditions)
                    MyData = MyData + C.Value
                Next
    End With

    i = Selection.SpecialCells(xlCellTypeAllFormatConditions).Count

    MsgBox "条件付き書式設定が設定されているセルは" & i & "個です。。"

    MsgBox "合計は" & MyData & "です。。。"

 End Sub

そうですね〜。

たとえばサッカーくじtotoの投票率を条件付書式で結果に応じてセルに
色がつくように設定して、その結果の投票率のみを合計する場合。

A1:A13まで結果を記入

B1:D13に投票率を記入

結果に応じて投票率のセルに色をつける。(条件付書式)

E1に色付きのセルのみの投票率の合計を出す。


 こんな感じでどうでしょう?
(夏目雅子似)
 Sub 色付きセルの合計()

    Dim i As Long
    Dim MyData As Variant
    Dim C As Range
    i = 0
    With ActiveSheet
        For Each C In .Range("B1:D13")
            If Not C.Interior.ColorIndex = xlNone Then
                MyData = MyData + C.Value
                i = i + 1
            End If
        Next
        .Range("E1").Value = MyData
    End With

    MsgBox "色が付いているセルは" & i & "個です。。"

 End Sub

上記はどのように利用するんでしょうか。
初心者なので全く分かりません。
詳しい説明を御願いします。

 すみませんでした。m(__)m
 Alt+F11でVBEを起動
 挿入→標準モジュール→白いところに↑のコードを貼り付けて下さい。
 ファイル→普通のエクセルに戻って
 ツール→マクロ→マクロで「色付きセルの合計」を選択してOK
 E1に合計が表示されるはずです。
 (夏目雅子似)

コンパイルエラーがでてしまいます。

 ありゃま、、コードをこちらに貼り付けてくださいませんか?
(夏目雅子似)

 というかぁ、、↑こちらのコードをそのまま貼り付けてみてくださいませんか?
(夏目雅子似)

下記でいいですよね。

 Sub 色付きセルの合計()

    Dim i As Long
    Dim MyData As Variant
    Dim C As Range
    i = 0
    With ActiveSheet
        For Each C In .Range("B1:D13")
            If Not C.Interior.ColorIndex = xlNone Then
                MyData = MyData + C.Value
                i = i + 1
            End If
        Next
        .Range("E1").Value = MyData
    End With

    MsgBox "色が付いているセルは" & i & "個です。。"

 End Sub

 こちらにコピーして試したら動いたので
 いいと思いますが、どこでコンパイルエラーになりますか?
 ちなみに、私は、Excel2000 98SE です。
(夏目雅子似)

 あっ、すみません。
 >結果に応じて投票率のセルに色をつける。(条件付書式)
 条件付き書式で、色をつけるんですよね?
 その場合だと、↑ではカウントされませんが、コンパイルエラーには
 ならないと思うのですが、、それから、その様な場合は
 色を数えるのではなく、その条件にあったセルの数を数える様にしては
 どうでしょう?この事は、最初に川太野鮎郎さんも提示されていますが、、

 それから、私が最初に提示したコードでは、条件付き書式が設定されている
 セルが全て選択されてしまいます。で、その次に対象となる範囲(B1:D13)が提示
 されましたので、その中で、特定の条件(今回の場合は色付き)のセルをカウント
 するコードを提示したにすぎません。条件付き書式設定については、過去のログ
 にもありますように、大変設定が難しい様です。この様な事を全て踏まえた上で
 特定の範囲の中の特定の条件に該当するセルの合計を示すコードの一例として
 お考え下さい。当初の質問から、何かピントが外れてしまった様ですが
 何卒、ご了承くださいませ。m(__)m
(夏目雅子似)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.