[[20141027164009]] 『OFFSET関数で背景に色付け』(あいま) ページの最後に飛ぶ

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

 

『OFFSET関数で背景に色付け』(あいま)

お世話になります。

電気関係の仕事をしていますが、VBAを知ったのは最近なので勉強中です。
入力電圧と出力電圧の比を取って補正を掛けているのですが
電圧の比が1.5以上有る時は前3ピン出力電圧を調整しなければならないので
前3ピンのC列の背景を赤く塗りたいのです。

出力電圧のピンは30ピンあり、電圧比のセルはJ10〜J40 背景を赤く塗りたいセルはC10〜C40です。

J11、J12に1.5以上の数字があった場合、C9以前のセルは背景を塗らないようにお願いしたいのですが、可能でしょうか。

大変申し訳ないのですが、何方か御教示お願い致します。

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


C10:C40セルを範囲選択した状態で、条件付き書式に「=OR(J11>=1.5,J12>=1.5,J13>=1.5)」でいかがでしょう?
(???) 2014/10/27(月) 17:00

???さん
回答ありがとうございます。

今、VBAでOFFSET関数の勉強をしていますので、OFFSET関数でお願い致します。
(あいま) 2014/10/27(月) 17:19


 OFFSET関数はVBAではなくワークシート上で使える関数だが?

 Range.Offsetプロパティのことか?
(ねむねむ) 2014/10/27(月) 17:27

ねむねむ様

offsetプロパティでした。

始めたばかりなのでプロパティとか関数だとか内容が分かっていません。
よろしかったら、offsetプロパティで教えてください。
(あいま) 2014/10/27(月) 17:40


Offsetを使え、との事ですが、入力された行だけでは塗り判定できないので、それは難しいですよ。
勉強とおっしゃるならば、ご自身で書いたソースを見せていただきたい。かえって面倒なはず。

とりあえず、毎回全部塗る例。
(まとめてコピペ等には非対応。必要があればご自身で直してください)

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Dim j As Long
    Dim iColor As Long

    If 1 < Target.Count Then Exit Sub
    Range("C10:C40").Interior.ColorIndex = xlNone

    For i = 13 To 40
        iColor = xlNone
        For j = i - 2 To i
            If 1.5 <= Cells(j, "J").Value Then
                iColor = RGB(255, 128, 128)
                Exit For
            End If
        Next j
        For j = i - 3 To i - 1
            If 10 <= j Then
                Cells(j, "C").Interior.Color = iColor
            End If
        Next j
    Next i
End Sub
(???) 2014/10/27(月) 17:45

???様
コードを提示して頂きありがとうございます。
正直なところ、コードなど書ける立場ではないので、御立腹されたのであれば
すみませんでした。コードの内容を考えながら勉強していきます。
また、分からなくなりましたら質問致しますので宜しくお願い致します。
(あいま) 2014/10/27(月) 18:42

コメント返信:

[ 一覧(最新更新順) ]


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