如何在EXCEL中的单元格中用格式筛选
加入你的数据在A列,筛选后放到B列,代码如下:
Sub yy()
Dim ar, i%, r%
r = [a65536]。End(3)。Row
[b:b]。ClearContents
ar = [a1]。 Resize(r, 2)
For i = 1 To r
If ar(i, 1) Like "######[A-Z][A-Z]_[0-9]*_*" And Asc(Split(ar(i, 1), "_")(2)) < -351 Then
ar(i, 2) = ar(i, 1)
End If
Next
[a1]。 Resize(r, 2) = ar
End Sub
当然,如果你需要在B列...全部
加入你的数据在A列,筛选后放到B列,代码如下:
Sub yy()
Dim ar, i%, r%
r = [a65536]。End(3)。Row
[b:b]。ClearContents
ar = [a1]。
Resize(r, 2)
For i = 1 To r
If ar(i, 1) Like "######[A-Z][A-Z]_[0-9]*_*" And Asc(Split(ar(i, 1), "_")(2)) < -351 Then
ar(i, 2) = ar(i, 1)
End If
Next
[a1]。
Resize(r, 2) = ar
End Sub
当然,如果你需要在B列顺序显示筛选结果,代码可以稍加修改。
这是B列顺序显示的代码,请斟情选择:
Sub yy()
Dim ar, i%, r%, n%
r = [a65536]。
End(3)。Row
[b:b]。ClearContents
ar = [a1]。Resize(r, 2)
For i = 1 To r
If ar(i, 1) Like "######[A-Z][A-Z]_[0-9]*_*" And Asc(Split(ar(i, 1), "_")(2)) < -351 Then
n = n + 1
ar(n, 2) = ar(i, 1)
End If
Next
[a1]。
Resize(r, 2) = ar
End Sub
再修改一搞:
Sub yy()
Dim ar, i%, r%, n%
r = [a65536]。End(3)。Row
[b:b]。
ClearContents
ar = [a1]。Resize(r, 2)
For i = 1 To r
If ar(i, 1) Like "######[A-Z][A-Z]_[0-9]*_[?@-]*" Then n = n + 1: ar(n, 2) = ar(i, 1)
Next
[a1]。
Resize(r, 2) = ar
End Sub
。收起