我正在尝试使用它,因此我的代码通过使用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不一起使用。
感谢您的帮助。
答案 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