アプリ版:「スタンプのみでお礼する」機能のリリースについて

セルA1~A10に設定している条件付き書式(2色グラデーション)の背景色を取得したいのですがうまくいきません

貼付画像のColor値を取得したいのですが、どうすれば辿り着けますか?

ご教示願います。

Excel2007です





Sub test()

Dim a, g, b As Integer
Dim c As String
Dim fcs As FormatConditions
’とりあえずA5を取得
Set fcs = Sheets(1).Cells(1, 5).FormatConditions

'ここでインデックスエラー
c = Right("000000" & Hex(fcs.Item(0).ColorScaleCriteria.Item(0).FormatColor.Color), 6)


a = Val("&H" & Right(c, 2))
g = Val("&H" & Mid(c, 3, 2))
b = Val("&H" & Left(c, 2))

Debug.Print a & "," & g & "," & b

End Sub

「VBA 条件付き書式の取得」の質問画像

A 回答 (2件)

そうそうマクロ記録できる話だからやれば


すぐどこに入っているか見れますよ。

前言撤回、itemを見てるから合ってましたね。
私の指摘は正確でありませんでした。

でもitemは1番始まりです。
それがインデックスエラーかと。

同時に
FormatConditions.Item(1)

FormatConditions(1)
と等価なので前者を使う人は殆どいません。
    • good
    • 0

基本的な事としてオブジェクトのメンバーで


最後にsが付くものはコレクションの可能性が
高いことを覚えなければいけません。

条件付き書式って同じ領域に複数を設定出来るでしょう?
だから何番目の指定から始めないと処理が始められないんです。
FormatConditions(2)
みたいにね。

あなたが見ているのはコレクションの方なので
FormatConditionを見ないと必要な事が
得られないんです。
この辺はVBAで条件付き書式を検索すると
出てくると思うんですけど。
もう一度Web検索やオブジェクトブラウザをチェックしましょう。
    • good
    • 0
この回答へのお礼

ありがとうございます!できました
Itemが余計だったみたいですね

いつもChildren.Itemと追いかけていたので…

通常インデックスは「0」からなのに、なんで「1」からなのか腑に落ちないところはありますが、また勉強します

お礼日時:2018/05/03 16:44

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