如果来自同一列的另一个单元格包含X,则replace/更新/修改单元格值

Excel背景
我有2个excel列和长行的logging。 (仅作为例子,因为我有超过10列)

A栏 – 是“是还是不是”栏B – 是一个注释。 可以input任何我需要的东西

怎么运行的
这是一个订货系统,如果date延迟,列A将显示“是”,如果没有延迟,则显示“否”

我需要
我需要VBA代码来执行以下操作:

如果栏B2包含文字“无延迟”,栏A2将从“是”改变为“否”

我testing了什么

Private Sub UpdateColumnA() Dim x As Long For x = 4 To 65536 Dim InStr As String If InStr(1, Sheet1.Range("$M$" & x), "No Delay") Then Sheet1.Range("$K$" & x) = Sheet1.Range("$K$" & x) & "No" End If Next End Sub 

我在上面遇到的问题是,A2栏“是”将成为“ 是否 ”。 我需要将“是”更换为“否”,而不是添加到现有文本中。

而如果B2文本“ 无延迟 ”不完全匹配,它根本不会工作,因此我希望它是不区分大小写的 ,如“nO延迟”“没有延迟”也将工作。

vbTextCompare选项可以使比较不区分大小写:

 InStr(1, Sheet1.Range("$M$" & x), "No Delay", vbTextCompare) 

一个简单的YesNo单元格中的值(“ YesNo ”)串联:

 Sheet1.Range("$K$" & x).Value = "No"