たとえば、18000 ドメインの列と、それらの 18000 ドメインを見つけることができる 210.000 ドメインの別のリストがあります。検索と置換のために、CTRL + H のように簡単に実行する必要があり、検索フィールドに 18000 個のドメイン全体を追加する必要があります。空白でそれらを。Excel の検索と置換でこれを試しましたが、検索フィールドに複数の値を追加しても機能しません。複数の値に対してどのように行うことができますか?
質問する
7114 次
1 に答える
1
VBA ソリューション
2 つのシート参照 (データと編集シート) のデータ = ソース、編集 = 宛先を変更する必要があります。また、置換文字列を変数に設定したので、必要に応じてこれを空の文字列から変更できます。
他のロジックが必要な場合 (つまり、比較の前に文字列をトリムしたり、文字列の大文字と小文字の比較を変更したり)、コードはかなり簡単に調整できるはずです。
お役に立てれば。
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
検索/置換でワイルドカードを使用できます。したがって、あなたの状況では、次のようなものを使用できるはずです
domain*
フィールドにあり、フィールドfind what
には何もないReplace
于 2013-11-05T15:57:04.870 に答える