私のシナリオでは、私は4つの列、列A~Dを持っています。列Bに何らかの値が含まれている場合、列Aの一致する行は所定の値を含むように更新されなければならない。同じマクロは、私は、コードは今それがその結果を達成している列C及びDに適用される:Excel VBA - 列Bに値が含まれている場合は、列Aを値で更新します。列Bに値が含まれていない場合、マクロを実行しない
Sub Update_Column_Based_On_Column_Value1()
On Error Resume Next
Dim ws As Worksheet
Dim lRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
lRow = .Range("B" & .Rows.Count).End(xlUp).Row
.Range("A1:A" & lRow).SpecialCells(xlCellTypeBlanks).Formula = "=If(B1<>"""",""PREDETERMINED VALUE"","""")"
.Range("A1:A" & lRow).Value = .Range("A1:A" & lRow).Value
End With
End Sub
列Bに値が含まれている場合、マクロは、列A中の対応するセルに「所定の値」を書き込みます
列に値がまったく含まれていない場合に問題が発生します。何が起こるかは、マクロがデータセット全体のほぼすべての空白セルに新しい値を書き込むことです。
ありがとうございました!私の質問がノービッシュであれば謝りますが、私はまだVBAにはとても新しいです。
私は非常にあなたの問題を理解していないが、私はあなたがではなく、B 'lRow = .Range(「A」&.Rowsの値でそれをベースにすると、この行を変更する必要があると思います。 Count).End(xlUp).Row' – SJR
もう1つの問題は、数式の最初のインスタンスがB1を参照するが、空白が1行にないことです。 – SJR
こんにちは、@SJR 私の要件が明らかに私は達成しようとしているもののスクリーンショットを提供することができます。 コードの変更は、私が探していたものではありませんでした。列Bが空であっても、コード更新列Aを実行しました。 – UserX