Я сейчас в процессе анализа данных из Excel и хотел бы сделать сравнения данных в столбце A и столбце B, идентифицируя повторяющиеся данные. Я использую следующий код:Сравнение данных из столбца A и столбца B Как только
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
Set CompareRange = Range("c2", Range("c2").End(xlUp))
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = x
Next y
Next x
End Sub
Этот код был взят из MSDN, поэтому, если он находит соответствие в колонке C против колонка А, он будет отображать совпадающее число в колонке B. По большей части это делает то, что мне нужно. Однако я хочу изменить этот код, чтобы он соответствовал только одному числу в списке.
Пример того, что в данный момент делает код:
A2 B2 C2
1 1 1
1 1 2
1 1 3
Так, по существу, так как число 1 появляется один раз в колонке C, Колонка А продолжает находить совпадения.
Что я хотел бы это сделать, это:
A2 B2 C2
1 1 1
1 2
1 3
Так, так как число 1 появляется только в колонке C один раз, он должен быть согласован только один раз против чисел в колонке А.
I Предполагая, что это, вероятно, что-то простое, но я не могу определить логику. Может ли кто-нибудь указать мне в правильном направлении, пожалуйста?
Я могу понять, почему этот вопрос получил нижний предел. Когда вы говорите что-то вроде «я не могу определить логику», вам действительно следует следовать за ней «и вот что я пробовал ...» И да, вы разместили какой-то код, но он выглядит как немного больше, чем вырезать и вставить из MSDN. Тем не менее, вы, вероятно, чувствуете, что пытались удовлетворить дух этикета вопросов, поэтому я отправил вам ответ. – Ambie
@Ambie, Большое спасибо за ваш ответ и мои извинения, если вопрос был за пределами обычного этикета. Я совершенно не знаком с VBA, поэтому код, который я использовал, был взят с веб-сайта MSDN, и, к сожалению, я не был уверен, с чего начать; будьте уверены, что я трал через потоки Stackoverflow в поисках разрешения. Перемещение, спасибо за код, указанный ниже. Я попытался реализовать его в текущей форме, но получаю ошибку несоответствия типа. Я попытался исправить ошибку, чтобы отлаживать, но затем получить ожидаемую ошибку массива. Я все еще возился, но еще раз спасибо! –
скажите, в какой строке произошла ошибка, и вставьте точное сообщение об ошибке. Я проверил код в своем ответе, и он работал нормально, поэтому, вероятно, проблема с рабочими листами. Это должно быть легко исправить. – Ambie