Как сформулировать Index - Match для включения условий в VBA? - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь сформулировать функцию Index - Match с тремя условиями: Условие 1: следует проверять только выделенные ячейки Условие 2: Должен проверяться один и тот же человек в столбце Запланированное отключение Условие 3: оно не должно повторяться снова и снова того же человека

У меня есть две таблицы. На листе 1 у меня есть таблица с позициями против сотрудника. На Листе 2 у меня есть таблица, к которой будет применяться индексное соответствие. Он также содержит выделенные ячейки и раскрывающееся меню. Код должен выбрать имя из выпадающего списка и не перекрывать список Я установил именованные диапазоны на обоих листах. Я попробовал следующий код:

Option Explicit
'use a constant to store the highlight color...
Const HIGHLIGHT_COLOR = 9894500 'RGB(100, 250, 150)'Is a cell highlighted? 
EDIT: changed the function name to IsHighlighted
Function IsHighlighted(c As range)
    IsHighlighted = (c.Interior.Color = HIGHLIGHT_COLOR)
End Function

Sub AssignBided()

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim cel1 As range
Dim cel2 As range
Dim Bid As range
Dim line As range
Dim Offemp As range
Dim BidL8 As range
Dim BidL8E As range
Dim coresVal As String

Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
Set Bid = ws2.range("Bid")
Set line = ws2.range("All_Pos_Hilight_Mon")
Set Offemp = ws2.range("Off_Mon") 'Scheduled Off Column
Set BidL8 = ws1.range("Bid_Pos") 'Bided Position
Set BidL8E = ws1.range("Bid_Emp") 'Bided Employee for a Position

For Each cel1 In BidL8E
    For Each cel2 In line
        If IsHighlighted(cel2) Then
            If Application.WorksheetFunction.CountIf(Offemp, cel1.Value) > 0 Then
                coresVal = Evaluate("Index(" & BidL8E.Address & "),MATCH(" & cel2.Validation & "," & BidL8.Address & ",0))")
                Debug.Print coresVal
                cel2.Offset(0, 2).Value = coresVal
            End If
        End If
    Next cel2
Next cel1
End Sub

Этот код не выполняется. Я получаю ошибку: Объект не поддерживает это свойство или метод Это подчеркивает строку 33. Если кто-нибудь может помочь мне в этом, это будет очень цениться Спасибо.

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