在excel vba中使用匹配方法的错误1004

时间:2016-06-10 20:03:09

标签: excel vba excel-vba match

我在Excel中使用两个不同的工作表,每个工作表都有一组约1200个ID号。在引用工作表1(RG摘要)时,我试图找到ID显示在工作表2(采购矩阵)上的行号。这是为了最终在工作表1上进行一些条件格式化,其中工作表2 ID在其行上具有特定值。我对VBA知之甚少(我今年夏天只为我的实习做了一份兼职工作),所以我确定我可能会错过一些重要的概念......但是目前我得到了这个错误

运行时错误' 1004: 无法获取WorksheetFunction类的Match属性

RowNum= WorksheetFunction.Match(ID2, Range("E10:E1500"), 0)

调试时,我可以看到ID2携带第一次迭代的ID值,但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

1 个答案:

答案 0 :(得分:1)

替换:

getlinks.py http://stackoverflow.com/a/37758066/191246
getlinks.py http://stackoverflow.com/a/37758066/191246 "*users*"
getlinks.py http://fakedomain.mu/somepage.html "*.mp3"

使用:

RowNum = WorksheetFunction.Match(ID2, Range("E10:E1500"), 0)

(点可能很小,但很重要)
(可能还有其他问题)