tft每日頭條

 > 生活

 > excel去掉重複内容單元格

excel去掉重複内容單元格

生活 更新时间:2025-01-16 20:20:26

今天,同事發給我一個表格,需要制作紙箱唛頭,但是她裡面的型号有些是重複的,由于excel中自帶的函數不具備去除重複值得功能,所以隻能利用vba來自己編寫函數,見圖:

excel去掉重複内容單元格(Excel菜鳥成長記第四篇)1

但是這些重複的内容都是以固定的符号隔開的,所以,我們利用數組和字典方案解決。

首先,我們打開這個工作表,然後選擇文件-選項-自定義功能區-開發者工具,勾選,确定。如下圖

excel去掉重複内容單元格(Excel菜鳥成長記第四篇)2

然後按下ALT F11組合鍵盤,彈出vba開發窗口,然後點擊插入——模塊

excel去掉重複内容單元格(Excel菜鳥成長記第四篇)3

excel去掉重複内容單元格(Excel菜鳥成長記第四篇)4

随便插入一個模塊就行哈,然後雙擊模塊,把下面這段黃色背景代碼複制到右邊的空白區域就可以

Public Function 提取不重複值(ByVal 單元格 As Range, ByVal 間隔符号 As String) As String '定義函數過程,值傳遞,返回值類型為字符串

'字典調用方法一:引用法(前期綁定)

'vba ide-工具-引用-浏覽-windows-system32找到scrrun.dll-确定

'Dim 字典 As Object '定義一個字典變量,貌似後期聲明字典不起作用

'Set 字典 = CreateObject("scripting.Dictionary")'貌似後期聲明字典不起作用

'*******************************定義區域*****************************************

Dim 字典 As New Dictionary '定義一個字典變量

Dim 結果 As String '定義結果

Dim 數組 As Variant '定義一個數組

Dim 數組元素 As Variant '定義一個數組元素

Dim 字典條目 As Variant '定義一個數組元素

Dim rng As Range

'*******************************代碼開始區域*****************************************

'功能一

If Len(間隔符号) >= 0 Then

數組 = Split(單元格.Value, 間隔符号) '利用拆分函數通過固定間隔符号對内容進行元素拆分

For Each 數組元素 In 數組 '遍曆數組元素

字典(Trim(數組元素)) = "" '這裡把每個元素所對應的條目進行修改,字典的特性是沒有這個條目就把這個條目加進去,順便清除重複項

Next

End If

'功能二

For Each 字典條目 In 字典 '提取字典裡的條目寫入單元格

結果 = 結果 & 間隔符号 & 字典條目 '将其字符串連接

Next

提取不重複值 = Replace(結果, 間隔符号, "", 1, 1)

字典.RemoveAll

End Function

'*******************************代碼結束區域*****************************************

結果如下顯示:

excel去掉重複内容單元格(Excel菜鳥成長記第四篇)5

然後我們就要手動加載 字典了

還是這個vba窗口,工具-引用-浏覽-windows-system32找到scrrun.dll-确定,就加載完成

然後我們就可以在表格中輸入函數了

結果如下圖:

excel去掉重複内容單元格(Excel菜鳥成長記第四篇)6

好了,今天的學習就到這,謝謝大家

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved