最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
WPS表格添加筛选唯一值功能教程
时间:2017-07-04 编辑:简简单单 来源:一聚教程网
ps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-">WPS表格添加筛选唯一值功能的使用方法
这里之所以说是模拟而不是实现,是因为,VBA是无法操作ET或Excel的筛选器的,所以我们只好退而求其次,用隐藏行的方法来模拟“筛选唯一值”。
这里给出VBA代码(最多可以处理32767行数据):
(这里给的是核心代码,不包括下图中创建按钮的代码)
Public Sub 筛选唯一值() '最多可以处理32767行数据
Application.ScreenUpdating = False '关闭屏幕更新,加快速度
Dim cell As Range, i As Long, rng As Range, only As New Collection
If TypeName(Selection) <> "Range" Then Exit Sub ' 选择对象不是单元格则退出
If Selection.Columns.Count > 1 Then
MsgBox "只能选择一列数据!", 0 + 64, "天远筛选唯一值"
Exit Sub
End If
Set rng = Intersect(ActiveSheet.UsedRange, Selection)
On Error Resume Next
For j = 1 To rng.Count '遍历选区所有单元格
If rng(j) <> "" Then
only.Add rng(j).Value, CStr(rng(j).Value) '逐个导入 Collection对象
End If
If Err <> 0 Then '如果有错误(重复)
i = i + 1 '累加变量
'如果变量i为1则将 Selection(j)赋值给rng,否则将rng与 Selection(j)合并为一个Range对象
If i = 1 Then
Set cell = Selection(j)
Else
Set cell = Union(cell, rng(j))
End If
Err.Clear '清除错误
End If
Next j
cell.EntireRow.Hidden = True '隐藏所有符合条件的行
Application.ScreenUpdating = True
End Sub
复制代码
示例图如下:
-
上一个: 火影忍者手游第七届无差别大赛竞猜地址
-
下一个: 看门狗2推出派对模式7月4日免费上线
相关文章
- 阴阳师神龛金御札兑换随机SSR 阴阳师金御札值不值得换 07-31
- 微软新版Surface Laptop预售 你会充值信仰吗 07-31
- 火影忍者手游泳装雏田好吗 值得买吗 07-10
- 一加5对比努比亚Z17 谁是高颜值超长续航战斗机 07-06
- 英雄无敌罗伊德技能实力分析 罗伊德值得培养吗 07-06
- 小红书海外购怎么样 小红书海外购值不值得信任 06-30