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?