Excel VBA找不到单元格

时间:2019-03-22 17:41:45

标签: excel vba

我有以下示例代码可以过滤出数据并粘贴到另一张纸上。

为了避免这种情况,我已经使用了非空值,但是我仍然出现“无单元格”错误,并且我还确定标记为“无单元格”的文件实际上应该具有符合条件的数据。

Set vFind = Range("B2:B" & lastRow).Find(what:="0", LookIn:=xlValues, lookat:=xlWhole)

If Not vFind Is Nothing Then
    filterRange.AutoFilter Field:=2, Criteria1:="=0"
    copyRange1.SpecialCells(xlCellTypeVisible).Copy Destination:=thisws.Cells(RowNo, 3)
    copyRange2.SpecialCells(xlCellTypeVisible).Copy Destination:=thisws.Cells(RowNo, 4)

1 个答案:

答案 0 :(得分:2)

您拥有的代码将使用当前活动工作表中的Range("B2:B" & lastRow)
为确保您获取正确的数据,请尝试在Range调用之前添加工作表名称,如下所示:

Worksheets("SheetName").Activate
Set vFind = Worksheets("SheetName").Range("B2:B" & lastRow).Find(what:="0", LookIn:=xlValues, lookat:=xlWhole)

If Not vFind Is Nothing Then
    filterRange.AutoFilter Field:=2, Criteria1:="=0"
    copyRange1.SpecialCells(xlCellTypeVisible).Copy Destination:=thisws.Cells(RowNo, 3)
    copyRange2.SpecialCells(xlCellTypeVisible).Copy Destination:=thisws.Cells(RowNo, 4)