Выделите после поиска по нескольким таблицам - PullRequest
0 голосов
/ 01 декабря 2018

Этот вопрос длинный.У меня есть SKU в 12 таблицах, скажем, sheet1, а заголовок таблицы - это материал, необходимый для этого продукта.У меня есть список материалов, необходимых на отдельном листе (Sheet2).Я создал раскрывающийся список для SKU в Sheet2, в котором выделен материал, необходимый для этого SKU.

Один SKU может встречаться в нескольких таблицах.Я выбрал этот подход, потому что было проще обновить SKU в таблицах, чем требуемые материалы.

Я уже создал код для выделения необходимого материала, и этот код уже запускается всякий раз, когда я выбираю SKU израскрывающийся список.

Я хотел бы, чтобы следующий код для поиска в нескольких таблицах одного и того же SKU выделил все материалы, необходимые для этого SKU.Можно ли это сделать?

Любые предложения и помощь очень ценятся, поскольку я много искал что-то подобное.

Ниже приведен код для выделения:

Sub Hilight(RNG As range, Hilight As Boolean)
        With RNG.Interior
            If Hilight Then
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .Color = RGB(100, 250, 150)
                .TintAndShade = 0
                .PatternTintAndShade = 0
            Else
                .Pattern = xlNone
                .PatternTintAndShade = 0
            End If
        End With
    End Sub

А вот как я использовал это Sub

Dim L8Product As String
Dim L11Product As String
Dim L12Product As String
Dim L10Product As String
Dim i As Long
Dim L8Rnge As range
Dim L11Rnge As range
Dim L12Rnge As range
Dim L10Rnge As range

L11Product = range("Line11_P")
L12Product = range("Line12_P")
L10Product = range("Line10_P")
L8Product = range("Line8_P")

If Not Intersect(Target, Me.range("Line8_P, Line11_P, Line12_P, Line10_P")) Is Nothing Then
        Hilight range("Line8_Hilight_Mon, Line8_Prep_Mon, Line11_Hilight_Mon, Line12_Hilight_Mon, Line10_Hilight_Mon"), False
'Below Code searches in the Table and then highlights the appropriate cells
    If Trim(L8Product) <> "" Then
        With Sheets("Products").range("KP_Table")                     'searchs in the KP Table on Sheet Overtime_Pos_Table

            'The code below will search the KP table for the product that you will select from the Line 8 drop down
            Set L8Rnge = .Find(what:=L8Product, _
                            after:=.Cells(.Cells.Count), _
                            LookIn:=xlValues, _
                            lookat:=xlWhole, _
                            searchorder:=xlByRows, _
                            searchdirection:=xlNext, _
                            MatchCase:=False)
            If Not L8Rnge Is Nothing Then
                    Hilight range("KP_Hilight_Mon, Line8_Prep_Mon"), True               'Hilights the cells for the KP and the Prep material required
            Else: With Sheets("Products").range("Osgood_Table")
                    Set L8Rnge = .Find(what:=L8Product, _
                                    after:=.Cells(.Cells.Count), _
                                    LookIn:=xlValues, _
                                    lookat:=xlWhole, _
                                    searchorder:=xlByRows, _
                                    searchdirection:=xlNext, _
                                    MatchCase:=False)
                    If Not L8Rnge Is Nothing Then
                            Hilight range("Osgood_Hilight_Mon, Line8_Prep_Mon"), True   'Hilights the cells for the Osgood and the Prep material required
                    End If
                  End With
            End If
        End With
    Else: Hilight range("Line8_Hilight_Mon, Line8_Prep_Mon"), False
    End If
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...