使用WorksheetFunction.Match函数的变量定义不匹配

时间:2014-10-22 21:56:14

标签: excel vba variables excel-vba match

我使用以下代码在VBA中查找Match函数以在列中查找事务ID:

 findrow = Application.WorksheetFunction.Match(cell, _
           ActiveWorkbook.Sheets(temp_import).Range("B:B"), 0)

我正在寻找的交易ID(单元格)位于63,000th行。我想知道我是否错误地定义了变量findrow,这是阻止匹配函数工作的?我已将findrow定义为整数。

任何指针都非常感激。

1 个答案:

答案 0 :(得分:1)

将其定义为Long。 xl2007 +支持1048576行。

看到这个。这会给你一个错误。

Sub Sample()
    Dim i As Integer

    i = 63000
End Sub

现在试试这个

Sub Sample()
    Dim i As Long

    i = 63000
End Sub

由于您使用的是Match,因此请使用错误处理或将变量定义为Variant

如果您搜索stackoverflow,已经介绍了如何处理VBA中的匹配。