在此范围代码上遇到类型不匹配错误

时间:2019-07-22 16:45:01

标签: excel vba macos

我正在尝试使用它,因此我的代码通过使用find函数将范围变量“ rcell”设置为等于包含变量“ lot”的值的单元格的范围。我希望它在特定范围(列D)而不是所有单元格中进行搜索。但是,我的代码中出现类型不匹配错误。

我尝试使用“ Columns(4)”代替“ Range(D:D)”,但这不起作用。

Workbooks("lotworkbook.xlsx").Activate
        Sheets("Sheet1").Select
        lot = Cells(row, 3)
        Workbooks("findworkbook.xlsx").Activate
        Sheets(3).Select

        Dim rcell As Range
        Set rcell = Range("D:D").Find(What:=lot, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False) 'this is the line with issues'

    If rcell Is Nothing Then


    Else

      ...

预期结果:在某个工作表中查找具有变量“ lot”的值的单元格,然后在另一工作表中查找该值,然后将范围变量“ rcell”设置为与该单元格位置相等。

实际结果:类型不匹配错误。奇怪的是,它与Cells.Find一起使用,但现在与Range(“ D:D”)。Find不一起使用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

相信问题是After:=ActiveCell-删除此问题然后重试:

Dim rcell As Range
Set rcell = Range("D:D").Find(What:=lot, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False) 'this is the line with issues