0

こんにちは、私は数式と Excel にかなり慣れていませんが、これは私が遭遇した問題の 1 つです。

次のように2つの条件付き書式設定式を使用しています

  1. =INDIRECT("I"&ROW())="Del"

  2. =INDIRECT("I"&ROW())="Sum"

del がその行の I 列にある場合、最初の式は単純に行を灰色で強調表示しますが、その行の列 H が 0 の場合に K 列を 0 に変更する方法もありますか?

また、その行の特定の列の合計入力に基づいて行を別の色で強調表示する2番目の式では、その行のK列を変更して、特定の行のH列の値に一致させることもできます.

それらが似ていることはわかっていますが、I列に「del」があり、行のH列にゼロがある場合、式1は指定された行のK列のみをゼロにする必要がありました。

また、2 番目の数式では、「合計」が I 列にある場合、値は指定された行の列 k でのみ変更されます。これらの変更が実装されない限り、他のものはフォーマットされていないままにしておく必要があります。

問題のセルは、このフィールドにデータを入力するボタンクリックイベントで上書きされるため、数式を追加できません。

式やVBAなど、あらゆる情報を歓迎します。

4

2 に答える 2

1

a) =$I2="Del"INDIRECT の代わりに使用します (ここ2で、条件付き書式が適用される範囲の最初の行、たとえば=$A$2:$Z$9999、または条件付き書式を挿入するときに範囲の最初に選択されたセルの行)

b)上書きされない新しい列を使用できる場合、この新しい列の式は次のようになります。

=if(and(I2="Del";H2=0);0;if(I2="Sum";H2;K2))

PS: Windows > [コントロール パネル] > [地域と言語] > [追加の設定...] > [リストの区切り文字] がコンマに設定されている場合の,代わりに使用します。;

于 2012-04-27T15:14:43.900 に答える
0

それに応じてオフセットを調整して、必要な列を変更します。

Dim firstCell As Range
Dim FoundCell As Range
Dim lastrow As Long

With ActiveSheet

    lastrow = .Cells(.Rows.Count, "H").End(xlUp).Row
    With Range("H2:H" & lastrow)

        Set FoundCell = .Find(What:="3")
        Set firstCell = FoundCell
        Do Until FoundCell Is Nothing
            '.offset(0,-1) would be the same row in Column "G"
            FoundCell.Offset(0, -1).Value = 0
            'if you wanted to assign the same value then do this:
            '  FoundCell.Offset(0, -1).Value = FoundCell.Value
            Set FoundCell = .FindNext(FoundCell)
            If FoundCell.Address = firstCell.Address Then
              Exit Do
            End If
        Loop
    End With
End With
于 2012-04-27T20:27:11.260 に答える