更改特定文本条目的Excel背景颜色

标题可能有点误导,所以这里..

在电子表格中,我需要监视列“我”,以testing插入的数字是否包含“22822”..它通常是一个数字,如22822564或22722762.这些数字意味着什么,所以如果22822xxx进入刚刚离开的单元格“H”必须改变并显示一个黄色的背景和文本“等待处理”

一旦设置被处理,用户将手动将此值更改为“已处理”,然后背景栏必须变回没有…

因此,用户在I33中input22822564,然后H33将显示黄色背景的“正在等待处理”。 如果手动更改了H33的内容,请删除背景颜色。

到目前为止,我已经完成了这个工作

  1. 发现..似乎并没有工作,最有可能的原因是我没有告诉它find一个部分,但一个完全匹配,不知道如何..在这里打一个空白
  2. 即使是完全匹配,似乎也不能改变列“H”
  3. 甚至还没有到手动input为“Hx”的部分

任何帮手?

Sub Worksheet_Change(ByVal Target As Range) Dim WatchRange As Range Dim IntersectRange As Range Dim FillRange As Range Dim IntersectFillRange As Range Set WatchRange = Range("I1:I1110") Set FillRange = Range("H1:H1110") Set IntersectRange = Intersect(Target, WatchRange) Set IntersectFillRange = Intersect(FillRange, WatchRange) If IntersectRange Is Nothing Then 'Do Nothing Else On Error Resume Next check = Application.WorksheetFunction.Search("22822", IntersectRange) On Error GoTo 0 If check = False Then MsgBox "String does not contain 22822" Else: MsgBox "Found it !!!" IntersectFillRange.Interior.Color = RGB(200, 160, 35) End If End If End Sub 

这个怎么样?

 Sub Worksheet_Change(ByVal Target As Range) Dim WatchRange As Range Set WatchRange = Range("I1:I1110") If Not Intersect(Target, WatchRange) Is Nothing Then If VBA.Left$(Target, 5) = "22822" Then Target.Offset(0, -1) = "Waiting on Processing" Target.Offset(0, -1).Interior.Color = RGB(200, 160, 35) End If End If End Sub 

如果你想删除颜色格式,如果有人用"Waiting on Processing"覆盖"Waiting on Processing" ,那么我只需在H1:H1110上设置一个条件格式,如果单元格值等于"Processed"