Я работаю в двух разных листах в excel, каждый из которых имеет набор из примерно 1200 идентификационных номеров. Когда вы ссылаетесь на лист 1 (сводка RG), я пытаюсь найти номер строки, которую ID выводит на листе 2 (Матрица закупок). Это, в конечном счете, приведет к некоторому условному форматированию на листе 1, где идентификаторы листа 2 имеют определенные значения в их строке. Я действительно очень мало знаю о VBA (я просто занимаюсь боксом для моей стажировки этим летом), поэтому я уверен, что могу пропустить какую-то важную концепцию ... Но в настоящее время я получаю эту ошибкуОшибка 1004 с методом совпадения в excel vba
Run -время ошибка «1004: Невозможно получить матч свойство класса WorksheetFunction
на
RowNum= WorksheetFunction.Match(ID2, Range("E10:E1500"), 0)
При отладке, я могу видеть, что ID2 несет значение идентификатора первой итерации, но RowNum возвращается как 0.
Sub DisplayMatrix()
Dim i As Integer, j As Integer, ItemID As String, rng1 As Range, _
ID2 As String, RowNum As Integer, PM As Worksheet
'initiates loop in sheet 1
'each ID is 7 cells apart
For i = 14 To 1757 Step 7
'sets ID variable where ID is present
If Cells(i, 2).Value <> "" Then ItemID = Worksheets("RG Summary").Cells(i, 2).Value
'finds ID in sheet2
ID2 = Worksheets("Purchasing Matrix").Cells.Find(What:=ItemID, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False)
'matches ID2 and ItemID and returns row number from sheet 2
Set PM = Worksheets("Purchasing Matrix")
With PM
RowNum = WorksheetFunction.Match(ID2, Range("E10:E1500"), 0)
End With
Next i
End
End Sub
Попробуйте заменить «Приложение» на «Рабочий лист» как o bject, который содержит функцию соответствия. Я сейчас на Linux, поэтому я не могу проверить, в чем проблема, но это было бы моим первым догадком. Документы на https://msdn.microsoft.com/en-us/library/office/ff835873.aspx немного неоднозначны относительно того, как это следует использовать, но похоже, что в этом примере используется Match() как метод приложения , – user2027202827
Ошибка «тип несоответствия» возвращается, когда я это делаю! – StephB
Дайте мне минутку, чтобы подтянуть окна, и я еще раз посмотрю. – user2027202827