する私は、大規模な入れ子になったIFとステートメントを持っていると私はその管理不能以来であるとして、VBAでそれを使用しないようにしたいです。
は、私は簡単な例を使用します:文が追加するかのより多くがあるとして、VBAコードは、私が代わりに使用することができますどのような
Range("O2").Formula = "=IF(M2>TODAY(),""VALIDATED"",IF(AND(N2="""",M2=""""),""NEW ITEM"",IF(AND(N2=""NEW ITEM"",M2<TODAY()),""NOT VALIDATED"")))
。また、私は1000行の行があるので、ループを使用する必要はありません。
更新...私はいくつかの新しいコードを追加しましたが、コードは各セルを通過し、マクロの実行時間に影響を与える可能性があります。これをスピードアップする方法はありますか?
Set Col = Range("O2:O" & lastrowOU3)
For Each Cell In Col
If Cell.Offset(0, -2) = 0 And Cell.Offset(0, -1) = 0 Then Cell.Value = "NEW ITEM"
If Cell.Offset(0, -2) = 0 And Cell.Offset(0, -1) = "NEW ITEM" Then Cell.Value = "NOT VALIDATED"
If Cell.Offset(0, -2) < Date And Cell.Offset(0, -1) = "NEW ITEM" Then Cell.Value = "NOT VALIDATED"
If Cell.Offset(0, -2) < Date And Cell.Offset(0, -1) = "VALIDATED" Then Cell.Value = "NOT VALIDATED"
If Cell.Offset(0, -2) < Date And Cell.Offset(0, -1) = "NOT VALIDATED" Then Cell.Value = "NOT VALIDATED 1"
If Cell.Offset(0, -2) < Date And Cell.Offset(0, -1) = "NOT VALIDATED 1" Then Cell.Value = "NOT VALIDATED 2"
If Cell.Offset(0, -2) >= Date Then Cell.Value = "VALIDATED"
Next
助けてください。
乾杯、
コナー
申し訳ありません申し訳ありません追加するのは忘れました。同じ論理を2行目から最後の行までその列のすべての行に適用します。 – Conor
申し訳ありませんアップロードする方法がわかりません – Conor
基本的に、col Mが今日より大きい場合、col O = "VALIDATED"の値 – Conor