0

シートにデータを入力し、値をグリッドにコピーするマクロがあります。セルに条件付き書式を追加して、前の列より大きくなると赤になり、小さくなると緑になり、0になると灰色になるようにします。

私の問題は、条件を追加してセルを参照することです。

Set newCell = originalEstimateCell.Offset(0, 2 + i)
newCell.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="XX"
newCell.FormatConditions(1).Interior.Color = RGB(255, 0, 0)

私の質問は、同じ行の前の列を参照するためにXXを置き換えるものです。セルC7にいる場合は、セルB7を参照します。

ありがとう

4

2 に答える 2

2

これを試してみてください

Sub test()
    ActiveCell.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
                      Formula1:="=" & ActiveCell.Offset(0, -1).Address()
    ActiveCell.FormatConditions(1).Interior.Color = RGB(255, 0, 0)    
End Sub

上記のコードは、現在のセルの値がFormula1の値よりも大きい必要があることを示しており、式自体はアクティブセルの1列前のセルのアドレスです。アクティブセルに対して他のセルをフォーマットする場合は、offsetメソッドのパラメーターを変更するだけです。

お役に立てば幸いです。

于 2011-03-07T23:24:57.587 に答える
0

私の質問は、同じ行の前の列を参照するためにXXを置き換えるものです。セルC7にいる場合は、セルC6を参照します。

C6は、前の列ではなく、C7の前の行になります

試す

=INDIRECT("C" & ROW()-1)

前の行から値を取得するには

于 2011-03-07T16:36:49.763 に答える