Как сравнить значения в столбце? - PullRequest
1 голос
/ 07 января 2020

У меня есть столбец целых чисел с последовательными дубликатами.

Я хочу вставить строку после каждого последовательного совпадения.

Мои значения:

2
2
5
5
10
10
20
20

Вывод кода:

2
2
5
5

10
10

20
20

Он работает до тех пор, пока не разграничится между 2 и 5.

For k = myRange.Rows.Count To 2 Step -1
    If InStrRev(myRange.Cells(k, 1).Value2, vbTextCompare) <> InStrRev(myRange.Cells(k - 1, 1).Value2, vbTextCompare) Then
        Range(myRange.Cells(k, 1).EntireRow, myRange.Cells(k, 1).EntireRow).Insert
    End If
Next k

Где «myRange» - это диапазон значений для разделения.

Я попытался использовать myRange.Cells(k,1).Text вместо Value2, а также попытался сделать vbBinaryCompare вместо сравнения текста.

Ответы [ 2 ]

2 голосов
/ 07 января 2020

Вот простой пример того, что вы пытаетесь сделать.

For k = myRange.Rows.Count To 3 Step -1 'If you have a header and loop to row 2 it will insert a row above row 2
    If Cells(k, 1) <> Cells(k - 1, 1) Then
        Cells(k, 1).EntireRow.Insert
    End If
Next k
1 голос
/ 07 января 2020
dim r as range   
Set r = Range("a1")

irow = r.Row
icol = r.Column

Do

If Cells(irow + 1, icol) <> Cells(irow, icol) Then
    Cells(irow + 1, icol).EntireRow.Insert shift:=xlDown
    irow = irow + 2
Else
    irow = irow + 1
End If

Loop While Not Cells(irow, icol).Text = ""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...