У нас есть большой пакет данных, который нам нужно отфильтровать с помощью Excel.

"Столбец B" содержит адрес электронной почты, с дополнительными столбцами, содержащими релевантную и необходимую информацию.

Я знаю, что вы можете использовать функции, чтобы выяснить, какие записи появляются в двух столбцах (или появляются в одном, но не в другом), и вводить эту запись в третьем столбце.

То, что мы хотели бы сделать, это запустить такую функцию - выяснить, какие записи появляются в столбце B, но, скажем, не появляются в столбце C. Однако мы хотим убедиться, что вся информация в строке соответствует чтобы запись в столбце B оставалась прежней.

то есть предположим, что в столбце B в строке 231 содержится соответствующая информация в столбцах G и H, и она отображается в столбце C, так что с этим все в порядке. Однако строка 232 в столбце B не отображается в столбце C, поэтому будет удалена.

Можно ли сделать все это, но убедиться, что другая информация не затрагивается?

1 ответ1

0

Так как вы имеете в виду электронные письма в вашем вопросе. Значением ячейки будет строковый тип данных. Вы можете использовать приведенный ниже код для сравнения строк.

Удалить только содержимое ячейки

Sub stringCompareColumns()
    For checkRow = 1 To Range("B1").End(xlDown).Row
            If StrComp(Range("B" & checkRow).Value, Range("C" & checkRow).Value) = 1 Then Range("B" & checkRow).Clear
    Next

End Sub

Удалить всю строку

Sub compareColumnsRemoveRow()
    For checkRow = Range("B1").End(xlDown).Row To 2 Step -1
            If StrComp(Range("B" & checkRow).Value, Range("C" & checkRow).Value) = 1 Then Rows(checkRow).EntireRow.Delete
    Next

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .