在数组中搜索数组VBA中的字符串

时间:2018-08-07 19:23:41

标签: vba excel-vba

我已经声明了一个包含59个项目的数组作为字符串。有谁知道我怎么写一些代码来搜索另一个范围(A:F),并以黄色突出显示包含其中一个项目的任何单元格。

我认为这可能是另一个循环中的一个循环,但是我不确定如何构造它。对于缺少代码表示歉意,我希望解释清楚。

谢谢!

3 个答案:

答案 0 :(得分:3)

  1. 遍历数组
  2. 使用Range.Find()方法查找匹配的值(它返回一个范围)
  3. 突出显示直接返回范围的

Sub test()
    Dim myArray As Variant
    myArray = Array("a", "c", "d")

    Dim word As Variant        
    For Each word In myArray
        Sheet1.Range("A1:A11").Find(word).Interior.ColorIndex = 15            
    Next word
End Sub

运行此命令后:

enter image description here

这比在数组循环内循环整个范围(或在整个范围循环内循环数组循环)要好得多,因为Range.Find()方法仅返回匹配项。然后我们突出显示该范围。

答案 1 :(得分:0)

For i = BeginningOfRange to EndOfRange
    For j = LBound(Array) to UBound(Array)
        If Cells(i, ReferenceColumn) = Array(j) Then
            Cells(i, ReferenceColumn).Interior.ColorIndex = 6
        End If
    Next j
Next i

答案 2 :(得分:0)

这是一个粗略的vba代码,可以执行此操作...根据您的需要对其进行修改

Sub highlightcells()

    Dim arr(100) As Integer

    For i = 0 To 58
        arr(i) = i
    Next i

    Dim myrng As Range, cell As Range
    Set myrng = Range("A1:B10")

    For Each cell In myrng
        For i = LBound(arr) To UBound(arr)
            If cell.Value > 0 And cell.Value = arr(i) Then cell.Interior.Color = vbYellow
        Next i
    Next

End Sub