Определение одинаковых значений в одной строке из диапазона в Excel - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть данные листа Excel. Столбцы B2: данные AF7, подобные этим…

B         C      D      E       F        G
1919106 1888033 1885508 1882576 1881697 1882508
1825168 1835058 1822453 1995037 1812891 1806778
1856294 1847202 1852195 2008647 1850637 1846161
2038838 1888345 1884439 1877693 1871343 1866290
1891278 1887332 1881356 1871914 1865842 2003296
1799495 1793926 1944344 1786693 1783027 1778177

Например:
, если пользователь вводит следующие три значения в строке C12, H12 иM12 1851060, 1829639 and 1983373, тогда аналогичные значения выделяются тремя разными цветами из числа столбцов (пожалуйста, обратитесь к изображению, которое выделено цветом), следующий код прекрасно работает.

Но мне нужно, чтобы аналогичные значения в одной строкедолжен быть выделен.

Я использую IF AND с критериями, основанными на цвете, но это хорошо работает.

Public Function fall()                                       
    Dim ra As Range
    Dim ra1 As Range
    Dim ra2 As Range
    Dim i As Integer

    Range("b2:af7").Interior.ColorIndex = 0

    For i = 12 To 19
        Set ra = Cells.Find(What:=Range("c"&i), LookIn:=xlFormulas, lookat _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False)

        Set ra1 = Cells.Find(What:=Range("h"&i), LookIn:=xlFormulas, lookat _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False)

        Set ra2 = Cells.Find(What:=Range("m&"i), LookIn:=xlFormulas, lookat _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False)


        If ra Is Nothing Then
            MsgBox ("Not found")
        Else
            ra.Interior.ColorIndex = 3         
            ra1.Interior.ColorIndex = 4       
            ra2.Interior.ColorIndex = 6      
        End If

        ' for same row with color based criteria
        If ra.Interior.ColorIndex = 3 And ra1.Interior.ColorIndex = 4 And ra2.Interior.ColorIndex = 6 Then
            rng1.Interior.ColorIndex = 15
            rng2.Interior.ColorIndex = 15
            rng3.Interior.ColorIndex = 15
        Else
            MsgBox "not found"
            Exit Function
        End If             
    Next i
End Function

Picture of table

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...