根据单元格值将行复制到工作簿表中

时间:2014-07-09 17:57:50

标签: excel copy-paste

我是非常新的并且一直在努力自我帮助但是在一个小时左右之后我放弃了现在需要帮助,我正在尝试使用下面的代码我在这里找到复制&#34 ; OK"工作簿1表1列I中的行到工作簿2表1中的新工作表中。

我不需要复制" ERROR"部分但是已经离开了这个,直到我得到代码工作。

我还想将所有数据保存到工作簿2中,就像上一个日期被新数据替换一样。

    FilterAndCopy()

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual


Dim lngLastRow As Long
Dim OKSheet As Worksheet, ErrorSheet As Worksheet

Set OKSheet = Sheets("Sheet1") ' Set This to the Sheet name you want all Ok's going to
Set ErrorSheet = Sheets("Sheet2") ' Set this to the Sheet name you want all Error's going to

lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row


With Range("A1", "I" & lngLastRow)
    .AutoFilter
    .AutoFilter Field:=9, Criteria1:="OK"
    .Copy OKSheet.Range("A1")
    .AutoFilter Field:=9, Criteria1:="ERROR"
    .Copy ErrorSheet.Range("A1")
    .AutoFilter
End With


Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic

End Sub

由于

1 个答案:

答案 0 :(得分:0)

您的代码无法正常工作,因为您需要编写

 sub FilterAndCopy()

在您的潜水艇开始时,尝试一下,看看它是否有效。

您可以采取哪些措施来检查列中是否有数据:

Dim r as range
set r = Range("a1")
 while r.value <> ""
  r= r.offset(0,1)
 end while

并使用“r”作为粘贴范围而不是A1