【发布时间】:2019-11-30 16:30:53
【问题描述】:
我正在尝试使用.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。
【问题讨论】:
-
row定义在哪里? -
@Warcupine 仍然出现类型不匹配。 Cells.Find 工作正常,但在我将其调整为仅在 Range("D:D") 中搜索后,我收到类型不匹配错误。
-
@cybernetic.nomad 行在前面的代码中定义为整数。在我将其更改为仅在 Range D 中搜索之前,该代码运行良好
-
是的,我总是忘记没有设置它默认为
.valuemy bad