A16中的0.001那个不要求显示?不对啊,这个值还不是0呢
如果要显示为空得改一下了
Sub aa()
Dim RegExp As Object
Dim MatchRes As Object
Dim arr As Variant
Dim arrRes()
Dim str As String
Dim i As Integer
Dim arrTmp() As String
Set RegExp = CreateObject("vbscript.regexp")
arr = Application.Transpose([A1:A20])
ReDim arrRes(1 To UBound(arr))
With RegExp
.Pattern = "(?:-{0,1})\d+\.?\d+%"
For i = 1 To UBound(arr)
Set MatchRes = .Execute(arr(i))
If MatchRes.Count Then
arrRes(i) = IIf(Format(MatchRes.Item(0).Value, "0.00%") = "0.00%", "", MatchRes.Item(0).Value)
End If
Next
End With
[B1:B20] = Application.Transpose(arrRes)
End Sub