поэтому у меня есть один столбец на листе. это выглядит так:

a, a, a, b, b, b, c, c, c, c, d, d, d, d, e, e, e, e и т. д.

(да, это столбец. эта вещь не любит возвраты ..)

Теперь, если вы щелкнете по столбцу и выберите «Перейти к спец.> Различия столбцов»

следует выбрать первые .. a, b, c, d, e ячейки

но что вы получаете, это клетка во ВСЕХ? строки после того, как выбран.

Это делает для Excel 2003 и 2007

Что я делаю неправильно?

2 ответа2

1

GoTo Special> Column Differences работает с выбранным диапазоном. Я не уверен, почему вы думали, что он поймет, как перебирать столбец.

Если вы запрашиваете значение диапазона (например, вашего столбца), значение является первой ячейкой в диапазоне. Таким образом, клетки со значениями , не равными выбраны как разные, что и я.

Обновление: этот саб должен делать то, что вы ожидаете:

' Selects changed cells in a single column.
' This sub will *not* work on multiple column selections
Public Sub SelectColumnDifferences()
    Dim c As Range
    Dim different As Range

    Set different = Selection.Cells(1)
    For Each c In Selection
        If c.Value <> different.Areas(different.Areas.Count).Value Then
            Set different = Union(different, c)
        End If
    Next c

    different.Select

    Set different = Nothing
    Set c = Nothing
End Sub
1

Этот альтернативный метод работал так же хорошо ..

Как получить уникальные / уникальные значения в столбце в Excel?

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