- Function 模糊位置(查询内容 As String, 数组 As Variant, Optional 第几次出现 As String) As Variant
- Dim kw As New 数组
- Dim rx, ry, ar, y, n, 次数
- Dim c(65536)
- ar = 数组
- For y = 1 To UBound(ar, 2)
- n = Application.Match("*" & 查询内容 & "*", Application.Index(ar, , y), 0)
- If IsError(n) Then n = 0
- If n > 0 Then 次数 = 次数 + 1: c(次数) = n & "," & y
- Next y
- If 第几次出现 = "" Then 第几次出现 = 1
- If 次数 > 0 Then
- 模糊位置 = Split(c(第几次出现), ",")
- Else
- 模糊位置 = Array(0, 0)
- End If
- End Function
- Function 精确位置(查询内容 As String, 数组 As Variant, Optional 第几次出现 As String) As Variant
- Dim kw As New 数组
- Dim rx, ry, ar, y, n, 次数
- Dim c(65536)
- ar = 数组
- For y = 1 To UBound(ar, 2)
- n = Application.Match(查询内容, Application.Index(ar, , y), 0)
- If IsError(n) Then n = 0
- If n > 0 Then 次数 = 次数 + 1: c(次数) = n & "," & y
- Next y
- If 第几次出现 = "" Then 第几次出现 = 1
- If 次数 > 0 Then
- 精确位置 = Split(c(第几次出现), ",")
- Else
- 精确位置 = Array(0, 0)
- End If
- End Function
复制代码
上面是我自己编写的类模块,可以实现在数组中查询内容所在行列。 |