問題的標題可能有點令人困惑,但實質上我要做的是寫如果列B不爲空,則將值賦給列A.對於C到Q,必須重複此操作。如果B列中存在值,則現在的代碼會生成所需的結果。但是,如果B沒有值,那麼我的替換文本將填充A1:A目標範圍之外的各種空白單元格。這裏是我有的代碼:Excel VBA - 如果B列中的某個單元格包含值,則A列等於「值」,但不會覆蓋現有A列數據
Sub Update_Column_Based_On_Column_Value_1()
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<>"""",""NEW VALUE"","""")"
.Range("A1:A" & lRow).Value = .Range("A1:A" & lRow).Value
End With
End Sub
我對VBA相當新,所以請原諒我的帖子中的任何含糊之處。
Jeeped, 非常感謝您澄清了我嘗試使用的公式究竟出了什麼問題。我確信我會在未來某個時候使用你教給我的東西! – UserX
子Update_Column_Based_On_Column_Value_1() 上的錯誤繼續下一步 昏暗WS作爲工作表 昏暗lRow只要 集WS = ThisWorkbook.Sheets( 「工作表Sheet」) 帶有WS lRow = .Range( 「B」 &.Rows。計數).End(xlUp).Row'該列必須更改爲匹配目標列 。012(「A1:A」&lRow) 「NEW VALUE」,TEXT(,))「'RC#是變量,其中#必須等於從 .Range(」A1:A「&lRow).Value = .Range(」A1:A「 &lRow).Value End With End Sub – UserX