为下一个循环定义不同的范围

我想定义一个范围,该范围根据For循环中的值以及此范围的值而更改为另一个表格。

这是代码。

 For i = 2 To 161672 If cgmfitbit.Worksheets(1).Cells(i, 2).Value = ptnames Then ptfile.Worksheets(1).Range("A" & i & ":P" & i).Value = cgmfitbit.Worksheets(1).Range("A" & i & ":P" & i).Value End If Next i 

我得到一个运行时错误91。

一个提案,也会复制价值和格式

 For i = 2 To 161672 If cgmfitbit.Worksheets(1).Cells(i, 2).Value = ptnames Then cgmfitbit.Worksheets(1).Range("A" & i & ":P" & i).copy ptfile.Worksheets(1).Range("A" & i) End If Next i