2016-08-03 2 views
-1

У меня есть данные в столбце A трех листов. Я должен взять данные одного листа и сравнить их с остальными двумя данными.Поиск дубликатов с данными трех листов

Может кто-нибудь мне помочь?

+0

Ваш вопрос очень расплывчатый. Пожалуйста, дайте нам более подробную информацию. Какие данные вы хотите сравнить? Если возможно, дайте нам короткий, но практический пример. Хорошей функцией сравнения/сопоставления является метод range.find в vba. Посмотрите [здесь] (https://msdn.microsoft.com/en-us/library/office/ff839746.aspx). –

ответ

0

Без дополнительного контекста/информации я могу дать вам только ответ высокого уровня, но, надеюсь, он может вас начать.

Чтобы проверить, находятся ли элементы в одном диапазоне в другом диапазоне, приведенный ниже код создает строку из одного диапазона, а затем использует «Instr» для сравнения каждого элемента из другого диапазона с ним. Чтобы выполнить более сложные сравнения, я собирал массивы из диапазонов.

Sub CompareLists() 
Dim rng1 As Range, rng2 As Range 
Dim cell As Range 
Dim tmp As String 

Set rng1 = Worksheets("Sheet1").Range("A1:A6") 
Set rng2 = Worksheets("Sheet2").Range("A1:A6") 

'Build pipe-delimited string from cells in range 
For Each cell In rng1 
    tmp = tmp & cell & "|" 
Next cell 

'Remove last pipe 
tmp = Left(tmp, Len(tmp) - 1) 

'Loop list 2 and compare against list 1. 
'Specifically, see if each item in list 2 is found in list 1 
For Each cell In rng2 
    If InStr(1, tmp, cell) > 0 Then 

     'Print items from list 2 that are found in list 1 
     Debug.Print "Found: " & cell.Value 

    Else 

     'Print items from list 2 that are NOT found in list 1 
     Debug.Print "NOT Found: " & cell.Value 

    End If 

Next cell 

Set rng1 = Nothing 
Set rng2 = Nothing 
Set cell = Nothing 

End Sub

Смежные вопросы