0

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

在电子表格中,我需要监视 Col“I”以测试插入的数字是否包含“22822”。它通常是一个像 22822564 或 22722762 这样的数字。这些数字意味着如果输入 22822xxx,那么单元格就在左边(在 Col “H”必须更改并显示黄色背景和文本“Waiting on Processing”

处理完集合后,用户将手动将此值更改为“已处理”,然后背景 col 必须变回无...

因此.. 用户在 I33 中输入 22822564,然后 H33 将显示黄色背景的“Waiting on Processing”。如果手动更改 H33 的内容,则删除背景颜色。

到目前为止我已经做到了这一点并且被卡住了..

  1. 查找.. 似乎不起作用,很可能是因为我没有告诉它查找零件而是完全匹配,不知道如何.. 在这里打个空白
  2. 即使完全匹配,似乎也无法更改 col“H”
  3. 甚至还没有达到手动输入“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
4

1 回答 1

2

这个怎么样?

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"时删除颜色格式,"Processed"那么我只需设置一个条件格式,H1:H1110如果单元格值等于,则将背景颜色设置为白色"Processed"

于 2013-09-21T15:05:53.063 回答