|
楼主 |
发表于 2019-12-9 18:55
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Function TJTQ(rng As Range, rn As Range)
Application.Volatile
Dim d As Object, arr1, st, i, ii, l, m, n, s0, s1, j
arr1 = rng
ReDim arr3$(1 To Application.CountA(rn))
For j = 1 To rn.Count
If rn(j) <> "" Then l = l + 1: arr3(l) = rn(j)
Next
ReDim arr2$(1 To UBound(arr1), 1 To 1)
Set d = CreateObject("vbscript.regexp")
d.Global = True
d.Pattern = "^([><=]{0,2})(-?\d*\.?\d*)$"
For i = 1 To UBound(arr1)
If arr1(i, 1) <> "" Then
For ii = 2 To UBound(arr3) Step 2
If d.test(arr3(ii)) = True Then
s0 = d.Execute(arr3(ii))(0).submatches(0)
s1 = d.Execute(arr3(ii))(0).submatches(1)
st = arr3(ii)
If s0 = "" Then st = "=" & st
If Evaluate(rng.Offset(0, Range(arr3(ii - 1) & 1).Column - rng.Column)(i, 1) & st) Then n = n + 1: st = ""
Else
If rng.Offset(0, Range(arr3(ii - 1) & 1).Column - rng.Column)(i, 1) Like arr3(ii) Then n = n + 1
End If
Next
If n = UBound(arr3) / 2 And arr1(i, 1) <> "" Then m = m + 1: arr2(m, 1) = arr1(i, 1)
n = 0
End If
Next
TJTQ = arr2
End Function
请问:需要怎样修改,才能 让第二参数能够在{ }里,以 {"J",2;"K",0;"L",">=3";"L","<=4"} 方式输入?
|
|