在我的場景中,我有四列,列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還是很新的。
我不太明白你的問題,但我認爲你需要改變這一行,你要基於它的價值在一個相當比乙'lRow = .Range(「A」&.Rows。 Count).End(xlUp).Row' – SJR
另一個問題是,您的公式的第一個實例將引用B1,但空白可能不在第1行。 – SJR
您好,@SJR 如果我的要求不是清楚地說明了我可以提供我試圖實現的屏幕截圖。 您對代碼的修改不是我一直在尋找的。當我運行代碼更新列A時,即使列B是空的。 – UserX