我正在尝试将一系列单元格粘贴到另一个工作表中。这是我到目前为止所提出的:
For i = 1 To MyCount
wbk.Activate
Set Criteria = Sheets(IGMSheet).Cells(i, 1)
Sheets(IGMSheet).Range(Cells(i, 2), Cells(i, 4)).Copy 'this copies the 3 cells I need
w.Activate
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData 'remove autofilter
Selection.AutoFilter
Range("$A$1:$BM$204").AutoFilter Field:=2, Criteria1:=Criteria.Value
Range("$BC$1:$BE$204").SpecialCells(xlCellTypeVisible).PasteSpecial
Next i
如果我只更新范围内的值,那么它可以正常工作,但粘贴单元格不会。
请提供建议。
答案 0 :(得分:2)
继上面的评论之后,试试这个......
Dim rng As Range
For i = 1 To MyCount
wbk.Activate
Set Criteria = Sheets(IGMSheet).Cells(i, 1)
Set rng = Sheets(IGMSheet).Range(Cells(i, 2), Cells(i, 4))
w.Activate
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData 'remove autofilter
Selection.AutoFilter
Range("$A$1:$BM$204").AutoFilter Field:=2, Criteria1:=Criteria.Value
rng.Copy
Range("$BC$1:$BE$204").SpecialCells(xlCellTypeVisible).PasteSpecial
Next i
我注意到其他一些事情。例如,使用.Activate
和不合格的单元格Range(Cells(i, 2), Cells(i, 4))
您可能还想查看this