Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
註冊  \/ 
x

or

如何刪除單元格字符串中重複的字符或單詞?

假設每個單元格中都有重複的字符或單詞,並且您要刪除重複的字符並僅保留唯一的字符或單詞。 您如何在Excel中解決此問題?

使用用戶定義的功能刪除文本字符串中的重複字符

使用用戶定義的功能刪除由標點符號分隔的重複單詞


箭頭藍色右氣泡 使用用戶定義的功能刪除文本字符串中的重複字符

現在,如果您有一個文本字符串列表,則需要刪除重複的字符,如下面的屏幕截圖所示。 在這裡,我可以談談處理它的VBA代碼。

doc-remove-duplicate-characters-1

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications窗口.

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊窗口.

VBA代碼:刪除單元格中文本字符串的重複字符

Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupes1 = xOutValue
End Function

3。 然後保存並關閉此代碼,返回到工作表,然後輸入此公式 = removedupes1(A2) (A2 是您要從中刪除重複項的數據單元)到數據之外的空白單元格中,請參見屏幕截圖:

doc-remove-duplicate-characters-1

4。 然後將填充手柄拖到要應用此公式的範圍單元格上,所有重複的字符已立即從每個單元格中刪除。

doc-remove-duplicate-characters-1


箭頭藍色右氣泡 使用用戶定義的功能刪除由標點符號分隔的重複單詞

如果單元格中有些單詞被某些標點符號分隔,則您也可以根據需要刪除重複的單詞。 請執行以下步驟:

1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications窗口.

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊窗口.

VBA代碼:刪除由單元標點符號分隔的重複單詞

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
    Dim x
    'Updateby Extendoffice
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
    End With
End Function

3。 然後保存並關閉此代碼,返回到工作表,然後輸入此公式 = RemoveDupes2(A2,“,”) 放入數據旁邊的空白單元格,請參見屏幕截圖:

doc-remove-duplicate-characters-1

4。 然後將公式複製到所需的單元格中,所有重複的單詞已從每個單元格中刪除。 看截圖:

doc-remove-duplicate-characters-1

備註:在以上公式中, A2 表示您要使用的單元格,而逗號(,)代表將單元格中的單詞分隔開的標點符號,您可以根據需要將其更改為任何其他標點符號。


最佳辦公效率工具

Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過300種強大功能。 支持Office / Excel 2007-2019和365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能30天免費試用。 60天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    El Conquistador · 2 months ago
    Not sure if this thread is still alive. I am trying to use this for something as simple as what is shown in the chart above and I keep on receiving #NAME? error. Cell A2 has XXX, YYY, XXX, AAA I can't quite understand what I am doing wrong. I have the code in my personal workbook. Would that be the issue?

  • To post as a guest, your comment is unpublished.
    Tapomoy Chakraborty · 9 months ago
    Thank you for the beautiful and useful coding. Can we do the same using Power Query?
  • To post as a guest, your comment is unpublished.
    Stefan · 1 years ago
    Hi, is there a way to get the result of "RemoveDupes2" alphabetically sorted?
  • To post as a guest, your comment is unpublished.
    baana2005 · 1 years ago
    Hey! can anyone help me,
    I have a data in excel example:



    CARITAS, CSCED, FREE, NRC
    BOSADP, DHCBI
    BOSADP, Mercy Corps, NRC
    ADRA, NRC
    BOSADP, CAID
    AAH, FAO (NEYIF), CRS (NEYIF)
    SWNI, Mercy Corps,
    CARE, PLAN, NRC
    Mercy Corps, NRC
    BOSADP, DHCBI, GREENCODE, NRC, AAH BOSADP


    What I really want

    CARITAS
    BOSADP
    DHCBI
    NRC
    ADRA
    CAID
    AAH
    FAO
    NEYIF
    CRS
    SWNI
    CARE
    PLAN
    Mercy Corps
    GREENCODE
    FREE


    the repeated words separated by comma deleted and and those that not repeated but separated by comma move to the next columns
  • To post as a guest, your comment is unpublished.
    Ali Maimadu Barma · 1 years ago
    Hey! can anyone help me,
    I have a data in excel example:



    CARITAS, CSCED, FREE, NRC
    BOSADP, DHCBI
    BOSADP, Mercy Corps, NRC
    ADRA, NRC
    BOSADP, CAID
    AAH, FAO (NEYIF), CRS (NEYIF)
    SWNI, Mercy Corps,
    CARE, PLAN, NRC
    Mercy Corps, NRC
    BOSADP, DHCBI, GREENCODE, NRC, AAH BOSADP


    What I really want

    CARITAS
    BOSADP
    DHCBI
    NRC
    ADRA
    CAID
    AAH
    FAO
    NEYIF
    CRS
    SWNI
    CARE
    PLAN
    Mercy Corps
    GREENCODE
    FREE


    the repeated words separated by comma deleted and and those that not repeated but separated by comma move to the next columns
  • To post as a guest, your comment is unpublished.
    deezy · 1 years ago
    i tried applying method2 to numbers but it does not work. eg. 1104, 1104, 203, 203, 409, 409 >>>1104, 203, 409 How do you get method 2 to work with numbers?

    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hello, deezy,
      The second method works well for numbers, please see the below screenshot.
      Please try it again, thank you!
  • To post as a guest, your comment is unpublished.
    Yael · 1 years ago
    Thanks so much for sharing knowledge, I used the "Remove Duplicate Words Separated By Punctuation With User Defined Function" and it worked great. May you knowledge grow and grow.
  • To post as a guest, your comment is unpublished.
    orine89@gmail.com · 1 years ago
    how about to remove duplicate character with an exception

    for example from MMMPXLL, i want to remove M but keep the L

    so the result will be MPXLL
    • To post as a guest, your comment is unpublished.
      orine89@gmail.com · 1 years ago
      Edit :

      some problem solved with removedupes2, but i have to do it one by one

      for example i cant remove duplicate letter y,a,l at once. I have to do it one by one.

      also, for case there is data like this yyypl, it become pl, the "y" is totally removed
  • To post as a guest, your comment is unpublished.
    s.woods@carsparesltd.com · 1 years ago
    i have a string of text like so

    1 Ser 1 Ser 1 Ser 1 Ser 1 Ser 1 Ser 1 Ser 1 Ser 1 Ser 2 Ser 2 Ser 2 Ser 2 Ser 2 Ser 2 Ser 2 Ser 2 Ser 3 Ser 3 Ser 3 Ser 3 Ser 3 Ser 3 Ser 3 Ser 3 Ser X3 X5

    when applying remove dupes 2 i get

    1 Ser 2 3 X3 X5


    by the looks of it, all duplicates except the first instance are kept, is there any way to tweek this so all duplicate instances except the last occurance are kept ?

    so my desired outcome would be

    1 2 3 Ser X3 X5

    thank you in advanced!
  • To post as a guest, your comment is unpublished.
    Ujjwal · 1 years ago
    thanks for the info.

    Can we also remove both duplicate values?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, Ujjwal,
      To remove all duplicate values and only keep the uniques, please use the below code:

      Function RemoveDuplicateValue(xDStr As String, xDelim As String) As String
      Dim xValue
      Dim xB As Boolean
      Dim xArr As Variant
      Dim xF, xFF As Integer
      Dim xUB As Integer
      Dim xStr, xRStr As String
      If (Len(xDelim) > 0) And (Len(Trim(xDStr)) > 0) Then
      xArr = Split(xDStr, xDelim)
      xUB = UBound(xArr)
      For xF = 0 To xUB - 1
      xStr = xArr(xF)
      If xStr <> "" Then
      xB = False
      For xFF = xF + 1 To xUB
      If UCase(xStr) = UCase(xArr(xFF)) Then
      xB = True
      xArr(xFF) = ""
      End If
      Next
      If xB Then xArr(xF) = ""
      End If
      Next
      xRStr = ""
      For Each xStr In xArr
      If xStr <> "" Then xRStr = xRStr & xStr & xDelim
      Next
      xRStr = Mid(xRStr, 1, Len(xRStr) - 1)
      Else
      xRStr = ""
      End If
      RemoveDuplicateValue = xRStr
      End Function

      And then use this formula: =RemoveDuplicateValue(A1,",").
  • To post as a guest, your comment is unpublished.
    Ivan · 1 years ago
    Thank you for the information! Very useful!
    I need help for the output as below:
    CODE, POST, GRADE, POST, GRADE, GRADE ------> CODE, POST, GRADE
    I need to remain with only one of each presented. Please assist. Thanks in advance!
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, Ivan,
      To solve your problem, method 2 in this article can help you! Please try, thank you!
      • To post as a guest, your comment is unpublished.
        Ivan · 1 years ago
        Hi Skyyang,
        It worked indeed, many thanks!!! Initially It didnt work cuz i had "space" after the delimiters and that "space" should be put when typing the formula too. However, many thanks!!!
  • To post as a guest, your comment is unpublished.
    vinay · 1 years ago
    thank you so much for information
    the VBA code RemoveDupes2
    i need the output as below
    Code,post,code,guest,code,location ----> post,guest,location


    could you please suggest. I really appreciate your help
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, vinay,
      To remove all duplicate values and only keep the uniques, please use the below code:

      Function RemoveDuplicateValue(xDStr As String, xDelim As String) As String
      Dim xValue
      Dim xB As Boolean
      Dim xArr As Variant
      Dim xF, xFF As Integer
      Dim xUB As Integer
      Dim xStr, xRStr As String
      If (Len(xDelim) > 0) And (Len(Trim(xDStr)) > 0) Then
      xArr = Split(xDStr, xDelim)
      xUB = UBound(xArr)
      For xF = 0 To xUB - 1
      xStr = xArr(xF)
      If xStr <> "" Then
      xB = False
      For xFF = xF + 1 To xUB
      If UCase(xStr) = UCase(xArr(xFF)) Then
      xB = True
      xArr(xFF) = ""
      End If
      Next
      If xB Then xArr(xF) = ""
      End If
      Next
      xRStr = ""
      For Each xStr In xArr
      If xStr <> "" Then xRStr = xRStr & xStr & xDelim
      Next
      xRStr = Mid(xRStr, 1, Len(xRStr) - 1)
      Else
      xRStr = ""
      End If
      RemoveDuplicateValue = xRStr
      End Function

      And then use this formula: =RemoveDuplicateValue(A1,",").
      Please try, hope it can help you!
      • To post as a guest, your comment is unpublished.
        vinay · 1 years ago
        Thanks

        I really appreciate your help
  • To post as a guest, your comment is unpublished.
    jenny · 1 years ago
    How can I remove the word dealer code in every word in each cell and just leave the number.
    Like the following:
    DEALER CODE A123
    DEALER CODE B456
    DEALER CODE C789
    DEALER CODE D012

    Result needed is:
    A123
    B456
    C789
    D012
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hi, jenny,
      To remove the first x characters from a cell, please apply the below formula:
      =RIGHT(A1, LEN(A1)-12)

      Please try, hope it can help you!
  • To post as a guest, your comment is unpublished.
    · 1 years ago
    Disturbing Excel formula


    If column A1 = R10, R11, R12, R13, R14, R15, R16, R17


    And column B1 = R10, R11, R19, R13, R14, R18, R20, R17


    Want the column C1 to find the difference


    Will get column C1 = R12, R19, R15, R16, R18, R20


    How to use the formula?
  • To post as a guest, your comment is unpublished.
    Rocio · 2 years ago
    Hi, what should I do if I want to delete duplicated words within on cell? For example, Ana Garcia Lopes Garcia -> Ana Garcia Lopes
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hello, Rocio,
      To remove the duplicate words within a cell, you should apply the User Defined Function of the second method in this article,
      Remove duplicate words separated by punctuation with User Defined Function

      and then apply this formula:=RemoveDupes2(A2," ").
      Please try it, hope it can help you!
      • To post as a guest, your comment is unpublished.
        Rocio · 2 years ago
        Thanks! but what will happen if i do not have punctuation within the cell? for example: Apple Book Pencil Book and I want to remove the duplicated word in this case Book and just obtain Apple Book Pencil
        • To post as a guest, your comment is unpublished.
          skyyang · 2 years ago
          Hi,
          If your cell value is separated by space, after pasting the above code, you just need to replace the comma with space as follows:
          Replace this formula:=RemoveDupes2(A2,",") with =RemoveDupes2(A2," ")
  • To post as a guest, your comment is unpublished.
    Bill Davis · 2 years ago
    I have been using the VBA code: Remove duplicate words separated by punctuation of a cell RemoveDupes2 logic for some time now and I recently had my machine upgraded to O365 and when running this same process, I get an error on my cell. Instead of returning the values I expect, I am getting the #Value! error in the cell.

    I'm not too savy on writing formulas or using the VB logic, so not sure where to start, any guidance would be helpful.
  • To post as a guest, your comment is unpublished.
    NeedExcelHelp · 2 years ago
    What about removing duplicate addresses. If I have a cell that says "123 Address St. 123 Address St." How can I select only the first address when I have many cells with different addresses in each of them?
  • To post as a guest, your comment is unpublished.
    Suraj Singh · 2 years ago
    Can we removed the duplicate from in single cell tax . like as per below tax the highlighted tax is duplicate.

    C2/1104, SUMMER PALM SECTOR 86 C2/1104, SUMMER PALM FARIDABAD HARYANA India
  • To post as a guest, your comment is unpublished.
    angshumanp02@gmail.com · 3 years ago
    how to save =RemoveDupes2 this formula in excel 2007
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hello, Pradhan,
      To save this formula for using next time, you should save the workbook as Excel Macro-Enabled Workbook file format.
      Please try it, hope it can help you!
  • To post as a guest, your comment is unpublished.
    Alonso · 3 years ago
    Thanks for the code.

    Can you please help me? I am using the macro function to remove words separated by punctuation of a cell, however my data is not words is actually phrases. Like instead of "KTE, KTO, KTW, KTO" is actually short descriptions like "prepare a bill, review my emails, update the contracts, review my emails".

    Would it be possible to update the VBA to remove duplicated phrases instead of words?

    Many thanks, this will be actually very helpful.
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hi, Alonso,
      To remove duplicate phrase, the following User Defined Function may help you, please try it.

      Function RemoveDuplicateValue(xStr As String, xDelim As String) As String
      Dim xValue
      If (Len(xDelim) > 0) And (Len(Trim(xStr)) > 0) Then
      With CreateObject("Scripting.Dictionary")
      For Each xValue In Split(xStr, xDelim)
      If Trim(xValue) <> "" And Not .exists(Trim(xValue)) Then .Add Trim(xValue), Nothing
      Next
      If .Count > 0 Then RemoveDuplicateValue = Join(.keys, xDelim)
      End With
      Else
      RemoveDuplicateValue = xStr
      End If
      End Function

      Then apply this formula: =RemoveDuplicateValue(A2,","), change the separator , to your own.
      • To post as a guest, your comment is unpublished.
        Mike W · 2 years ago
        Hello skyyang,



        I am hoping to get some help with the following cell:

        PR-PUERTO RICO; US-UNITED STATES; US-UNITED STATES

        I need the duplicate US-UNITED STATES removed as my upload tool will not allow for duplicates.



        I used the above VBA and replaced my formula deliminator with ";". Is the hyphen causing this to have an issue? It returns #NAME? whenever I run the formula. I am new to macros/VBA but I made sure the file was saved as a Macro Enabled file. I really tried to follow these to the T.


        Thank you for all of this already great information as it has helped with another project I had to complete as well and anything additional is greatly appreciated.
        • To post as a guest, your comment is unpublished.
          skyyang · 2 years ago
          Hi, Michael,
          Do you mean to remove all duplicate phrases from a cell, and only leave the unique ones?
          Look forward to your reply!
          • To post as a guest, your comment is unpublished.
            Mike W · 2 years ago
            This is the output I am looking for:

            Current: PR-PUERTO RICO; US-UNITED STATES; US-UNITED STATES
            Desired: PR-PUERTO RICO; US-UNITED STATES

            Hope this makes sense and thank you very much for the quick reply.
            • To post as a guest, your comment is unpublished.
              skyyang · 2 years ago
              Hi, Michael,
              You just need to apply the below code, and then use this formula: =RemoveDuplicateValue(A2,";"). Please try, hope it can help you!

              Function RemoveDuplicateValue(xStr As String, xDelim As String) As String
              Dim xValue
              If (Len(xDelim) > 0) And (Len(Trim(xStr)) > 0) Then
              With CreateObject("Scripting.Dictionary")
              For Each xValue In Split(xStr, xDelim)
              If Trim(xValue) <> "" And Not .exists(Trim(xValue)) Then .Add Trim(xValue), Nothing
              Next
              If .Count > 0 Then RemoveDuplicateValue = Join(.keys, xDelim)
              End With
              Else
              RemoveDuplicateValue = xStr
              End If
              End Function
              • To post as a guest, your comment is unpublished.
                Mike W · 2 years ago
                Thank you so very much. Your response was more welcome than my cup of coffee!
                • To post as a guest, your comment is unpublished.
                  mahesh · 11 months ago
                  Hi this is real helpful
                  But i want to remove entire words after "NO TO:"

                  eg: NO TO: [C11bx1]

                  NO TO: [C11bx3] like this

  • To post as a guest, your comment is unpublished.
    kmritul@gmail.com · 3 years ago
    thanks a lot, it helps me more. But I want some specific more for my dataset.
    I have two Columns data. ID and Info. In Info Column, per cell project-id like "Kant-, Udp-, Akr- etc" are repeated. For my dataset the project_id is more than 15 and It fixed. So I want to delete the repeated_id from cell but keep the first one.
    Examle: Kant-526 (0.0287),Kant-527 (0.0113),Kant-528 (0.0262) /// Kant-526 (0.0287),527 (0.0113),528 (0.0262),
    Kant-543 (0.0685),Kant-544 (0.0685),Udp-097 (0.0141) /// Kant-543 (0.0685),544 (0.0685),Udp-097 (0.0141)

    Sample image is attached here. Is there any solution for this.
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Imran,
      Sorry for not solving your problem, if anyone has the good idea, please comment here.
      Thank you!
      • To post as a guest, your comment is unpublished.
        kmritul@gmail.com · 3 years ago
        I have got a solution by my own. I have used SUBSTITUTE formula here, but it is too large for my data. so repeat it two or three times for getting the proper result.

        =SUBSTITUTE(SUBSTITUTE("Kant-","",2), ("Kant-","",2)
        Here, 1st 2 for second Kant- replacement and for next every Kant- removing just add ("Kant-","",2) extra. Its working for me. But I prefer a good VBA.
  • To post as a guest, your comment is unpublished.
    Kiran · 3 years ago
    How to remove matched string duplicates...can u pls tell me


    Regards,
    Kiran
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Kiran,
      Can you give an example of your problem? Or you can insert an attachment image.
      Looking forward to your reply!
  • To post as a guest, your comment is unpublished.
    Meharban singh pal · 3 years ago
    can we find out position of 1st Lower case letter


    Exam - RAMSHsJHSAhsjDDD ------I want to know position of 1st small letter by formula = s
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello, Meharban,
      You can apply the following array formula to get the position of the first lower case letter:
      =MATCH(1,IF(ABS(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))-109.5)<=12.5,1),0)
      Please remember to press Ctrl + Shift + Enter keys together.


      Hope it can help you ,thank you!
      • To post as a guest, your comment is unpublished.
        Meharban singh pal · 3 years ago
        Hi skyyang

        it's working properly .....
        actually i wanted same thing..

        many thanks !!


        Meharban singh pal
  • To post as a guest, your comment is unpublished.
    Hanuman Singh · 4 years ago
    I have data like 1. show below in a single cell and I want to like 2.
    1. ZERPUR,MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653, ZERPUR(16),MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653
    I need this like :-
    ZERPUR,MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653

    Thanks & Regards
    Hanuman Singh
    9034509168
    • To post as a guest, your comment is unpublished.
      Kring · 3 years ago
      teach me how? need to know it too..
  • To post as a guest, your comment is unpublished.
    Mitch L · 4 years ago
    Thanks for this code - it saved me a ton of time.
  • To post as a guest, your comment is unpublished.
    Simon Alexander · 4 years ago
    This is an awesome and simple solution to finding duplicate phrases within a single cell, much easier than some of the long-winded macro solutions I found while looking for an answer to my problem, thank you!
  • To post as a guest, your comment is unpublished.
    Archana Nahak · 4 years ago
    This is very helpful . I have tried it and it works for me as excepted.
    Excellent !!!!
  • To post as a guest, your comment is unpublished.
    Alastair · 4 years ago
    Just like to save thank you so much for this guide, saved me a lot of work! :)
  • To post as a guest, your comment is unpublished.
    Eka Sari · 4 years ago
    Is it possible to adjust the function if there is a certain word I want to keep duplicated while the rest are not duplicated?
  • To post as a guest, your comment is unpublished.
    Joni · 4 years ago
    Hy dude i need your help. What should i do if iwant extract the duplicate?
    In
    A1 (asdfghjiklkk)
    So k is duplicated character
    I want A2 (k) what should i do?
  • To post as a guest, your comment is unpublished.
    Suresh · 4 years ago
    Awesome, Thank you!.....
  • To post as a guest, your comment is unpublished.
    Leila · 5 years ago
    BRILLIANT
    thank you! thank you! thank you!
  • To post as a guest, your comment is unpublished.
    Rana · 5 years ago
    Hello, please I need your help, i tried your code but it didnt work, maybe because I have numbers
    I have duplicate telephone numbers separated by commas
    Please tell me what to do

    Thanks
    • To post as a guest, your comment is unpublished.
      deezy · 1 years ago
      same here pls help
  • To post as a guest, your comment is unpublished.
    Charlie Keyloe · 5 years ago
    Your advice is amazing! I sorted 58,400 records in about 2 minutes and saved one week (or more) of work. My duplicates were a bit harder turning this example " V&O Liquid Fuel Lantern 13-1/2in blk fuel lantern " into this " V&O Liquid Fuel Lantern 13-1/2in blk " thank you.
  • To post as a guest, your comment is unpublished.
    john galt · 6 years ago
    is this thread still alive? I would greatly appreciate some insight with this VBA function..
    my questions has to do with the code, where if at all do i need to instruct it to find the specific punctuation as the delimiter.. if I were to use "@" as the punctuation?
  • To post as a guest, your comment is unpublished.
    Lisa Robinson · 6 years ago
    I tried your solution "Remove duplicate words separated by punctuation with User Defined Function" and it works great for multiple words in a cell BUT doesn't completely solve my problem. I have one cell that has multiple values and want to compare against another cell with multiple values and then have it remove the duplicates that exist between the two cells. Is there a way to do that?
    • To post as a guest, your comment is unpublished.
      deezy · 1 years ago
      same here pls help
  • To post as a guest, your comment is unpublished.
    milworker · 6 years ago
    And I combined RemoveDupes with ConCat (the VBA goodness, not CON(I-SUCK-BECAUSE-I'M-MICROSOFT)CATENATE) into this:

    =RemoveDupes(ConCat(",",G495:G502),",") so it pulled my cells in and then wiped all of the dupes out. Thanks for the RemoveDupes, here's ConCat:

    Function ConCat(Delimiter As Variant, ParamArray CellRanges() As Variant) As String

    Dim Cell As Range, Area As Variant

    If IsMissing(Delimiter) Then Delimiter = ""

    For Each Area In CellRanges
    If TypeName(Area) = "Range" Then
    For Each Cell In Area
    If Len(Cell.Value) Then ConCat = ConCat & Delimiter & Cell.Value
    Next
    Else
    ConCat = ConCat & Delimiter & Area
    End If
    Next

    ConCat = Mid(ConCat, Len(Delimiter) + 1)
    End Function
  • To post as a guest, your comment is unpublished.
    milworker · 6 years ago
    Nevermind, I'm dumb. Because I only wanted words pulled I renamed the module RemoveDupes, but didn't change the RemoveDupes later in the code. Fixed, smacking self with hammer....
  • To post as a guest, your comment is unpublished.
    milworker · 6 years ago
    Still broke... doesn't actually show anything. Here's my cell data:

    27000,Basic,Products,Materials,From,Wood,Stone,Earthen,Raw,Materials,27100,Basic,Forest,Products,General,27110,Basic,Forest,Products,Sawmill,Products,27120,Basic,Forest,Products,Wood,Pulp,27200,Glass

    Clearly have some dupes there. Leaves the cell blank. Thoughts?