WPS表格中唯一值功能怎么用
篩選功能是電子表格軟件很重要的一塊內(nèi)容,無(wú)論是ET還是Excel,都具有強(qiáng)大的篩選功能,但比較遺憾的是,ET和Excel都沒(méi)有“篩選唯一值”功能。下面學(xué)習(xí)啦給大家分享WPS表格添加篩選唯一值功能的使用方法。
WPS表格添加篩選唯一值功能的使用方法
這里之所以說(shuō)是模擬而不是實(shí)現(xiàn),是因?yàn)?,VBA是無(wú)法操作ET或Excel的篩選器的,所以我們只好退而求其次,用隱藏行的方法來(lái)模擬“篩選唯一值”。
這里給出VBA代碼(最多可以處理32767行數(shù)據(jù)):
(這里給的是核心代碼,不包括下圖中創(chuàng)建按鈕的代碼)
Public Sub 篩選唯一值() '最多可以處理32767行數(shù)據(jù)
Application.ScreenUpdating = False '關(guān)閉屏幕更新,加快速度
Dim cell As Range, i As Long, rng As Range, only As New Collection
If TypeName(Selection) <> "Range" Then Exit Sub ' 選擇對(duì)象不是單元格則退出
If Selection.Columns.Count > 1 Then
MsgBox "只能選擇一列數(shù)據(jù)!", 0 + 64, "天遠(yuǎn)篩選唯一值"
Exit Sub
End If
Set rng = Intersect(ActiveSheet.UsedRange, Selection)
On Error Resume Next
For j = 1 To rng.Count '遍歷選區(qū)所有單元格
If rng(j) <> "" Then
only.Add rng(j).Value, CStr(rng(j).Value) '逐個(gè)導(dǎo)入 Collection對(duì)象
End If
If Err <> 0 Then '如果有錯(cuò)誤(重復(fù))
i = i + 1 '累加變量
'如果變量i為1則將 Selection(j)賦值給rng,否則將rng與 Selection(j)合并為一個(gè)Range對(duì)象
If i = 1 Then
Set cell = Selection(j)
Else
Set cell = Union(cell, rng(j))
End If
Err.Clear '清除錯(cuò)誤
End If
Next j
cell.EntireRow.Hidden = True '隱藏所有符合條件的行
Application.ScreenUpdating = True
End Sub
復(fù)制代碼
示例圖如下:
猜你感興趣: