1

I have for example a column of 18000 domains and another list with 210.000 domain which those 18000 domains can be found. I need to do smth like CTRL + H, for find and replace, and in the find field I need to add the entire 18000 domains: smth like * domain1.com *, * domain2.com *, * domain3.com * and replace them with blank space. Tried this with find and replace from excel but it doesn't work to add more than 1 value in the Find field. How can i do it for multiple values?

0

1 Answer 1

1

VBA solution

You will need to change the two sheet references (data and edit sheet) data = source, edit = destination. I've also set the replace string to a variable so you can change this from an empty string if required.

If you need any other logic (ie Trim the strings before compare or a change to the strings case comparison) the code should be reasonably easy to tweak.

Hope this helps.

Sub ReplaceValues()


Dim dataSht As Worksheet
Dim editSht As Worksheet

Dim dataRange As Range

Dim dataColumn As Long
Dim editColumn As Long


Dim dataEndRow As Long
Dim editEndRow As Long

'sheet that holds all the values we want to find
Set dataSht = Sheet2

'sheet we want to edit
Set editSht = Sheet1


Dim replaceValue As String


'replace value is empty string
replaceValue = ""



'set the column of the data sheet to A
dataColumn = 1

'set the colmun of the sheet to edit to A
editColumn = 1


dataEndRow = dataSht.Cells(dataSht.Rows.count, dataColumn).End(xlUp).Row
editEndRow = editSht.Cells(editSht.Rows.count, editColumn).End(xlUp).Row





'this is the range of the data that we're looking for
Set dataRange = dataSht.Range(dataSht.Cells(1, dataColumn), dataSht.Cells(dataEndRow, dataColumn))


Dim count As Long
Dim val As String

    For i = 1 To editEndRow

    val = editSht.Cells(i, editColumn).Value

    count = Application.WorksheetFunction.CountIf(dataRange, val)

        If count > 0 And Trim(val) <> "" Then

        editSht.Cells(i, editColumn).Value = replaceValue

        End If

    Next i


End Sub

You can use wildcards with find/replace. So in your situation you should be able to use something like

domain* in the find what Field and nothing in the Replace field

Sign up to request clarification or add additional context in comments.

6 Comments

Those values are an example, i have unique value instead of domain.com, smth like google.com, yahoo.com, bing.com.....
And you have a list of them on a separate sheet?
Yes I have a separate sheet, and i need to do smth to add all of them 18000 in the Find field and in the replace field blank space.
I can write a small example piece of VBA that should do what you need, if you want... Gimme 5 mins
5 minutes was quite optimistic.. but I'm just testing it now so not long.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.