[[20180108023059]] 『「SUMPRODUCT関数と色」[SEVEN] について』(ぷしん) ページの最後に飛ぶ

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

 

『「SUMPRODUCT関数と色」[SEVEN] について』(ぷしん)

投稿
[[20090522142410]] 『SUMPRODUCT関数と色』(SEVEN) 
について...

お世話になっております
過去ログから引用いたしますが

過去の質問
CELLCOLOR関数で取り出したカラーコードに対して SUMPRODUCT関数を当て色をキーにして乗算を行なっているのですが、カラーコードを取り出すセルが無駄に感じるためにVBAで動かしたいと考えているのですが、組込み関数等で作成する事は可能でしょうか?

A数量
B単価
Cカラーコード
DSUMPRODUCT
A列の色によって集計を行ないたいのですが、C列にてカラーコードを返して D列でSUMPRODUCTでCを条件にしA*Bを行なっています。
これをC列を作成せずに計算する方法を模索しています。

との質問におきまして、

Function ColorProduct(ByRef ref As Range, ByRef rng As Range) As Double

 Dim myIndex As Long, r As Range
 Application.Volatile
 myIndex = ref.Interior.ColorIndex
 For Each r In rng.Columns(1).Cells
     If r.Interior.ColorIndex = myIndex Then
         ColorProduct = ColorProduct + r.Value * r(1, 2).Value
     End If
 Next
 End Function

との解決策がありますが、
当方では、
A数量
Z単価
と隣通し連続した列で無い場合、正しく計算されません
どのように修正すれば良いのでしょうか?
VBAは見よう見まね程度です
よろしくお願いします

< 使用 Excel:Excel2013、使用 OS:Windows7 >


                 隣同士は、ここで決めているので、A列とZ列なら 26列目なので、2を26に変更
                         ↓  
 >ColorProduct = ColorProduct + r.Value * r(1, 2).Value

(半平太) 2018/01/08(月) 09:33


半平太様ありがとうございました
たいへん助かりました

(ぷしん) 2018/01/08(月) 21:09


コメント返信:

[ 一覧(最新更新順) ]


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