【发布时间】:2015-12-30 18:11:31
【问题描述】:
如果单元格等于迪斯尼奥兰多,我想移动到新的工作表或全新的工作表。截至目前 .Rows 导致错误。
Sub finddisneys()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws1 = wb.Sheets("April")
Set ws2 = wb.Sheets("alljobs")
Set ws3 = wb.Sheets("New")
i = ws1.Cells(Rows.Count, 2).End(xlUp).Row
For i = z To 2 Step -1
If ws1.Cells(i, 2) = "Disney Orlando" Then
.Rows(i).Copy Destination:=ws3.range("A")
End If
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
【问题讨论】:
-
除非在
With块内,否则不能在参数前加上.。所以把ws1.Rows(i).Copy Destination:=ws3.range("A2") -
你的行 `i = ws1.Cells(Rows.Count, 2).End(xlUp).Row` 需要是 `z = ws1.Cells(Rows.Count, 2).End (xlUp).Row`
-
您缺少
Next i。 -
(...并将整个东西切换到AutoFilter method)
-
这只会捕获、复制和粘贴一行。如何更改目标更改以使用 for 循环滚动?