1
我在Excel中的一个表,如下使用宏行复制到另一个工作表,如果它满足标准
1 apple 8/1/2013 8/2/2013 99373 11
2 apple 8/13/2013 8/3/2013 2626282 2121
3 berry 8/12/2013 8/4/2013 1289127 123
4 berry 8/15/2013 8/5/2013 12712671 1234
5 cherry 8/19/2013 8/6/2013 127127 3354
apple 9/1/2013 9/5/2013 123456 200
apple 9/2/2013 9/6/2013 246810 300
berry 9/3/2013 9/7/2013 3691215 400
berry 9/4/2013 9/8/2013 48121620 500
cherry 9/5/2013 9/9/2013 510152025 600
cherry 9/6/2013 9/10/2013 612182430 700
apple 9/7/2013 9/11/2013 714212835 800
berry 9/8/2013 9/12/2013 816243240 900
berry 9/9/2013 9/13/2013 918273645 1000
apple 9/10/2013 9/14/2013 10203040 1100
我试图让擅长每一行,说复制无论是苹果,浆果,或上个月的樱桃(在这种情况下 - 2013年9月1日 - 2013年9月30日),并放入相应的表格中。表名是苹果,浆果和樱桃。然后插入一行并将行添加到最后一行数据后面的行中。我还需要它将a列中的下一个数字复制到相应的表格中。因此,第6行将在第a列中具有数字6。
我尝试了一些VBA代码,但我有一些麻烦,使其动态搜索所有表名称而不是“苹果”。此外,我无法找到数据的最后一行。请参阅下面我的代码:
Sub testIt()
Dim r As Long, endRow As Long, pasteRowIndex As Long
endRow = 15
pasteRowIndex = 1
For r = 1 To endRow
If Cells(r, Columns("B").Column).Value = "apple" Then
Rows(r).Select
Selection.Copy
Sheets("apple").Select
Rows(pasteRowIndex).Select
ActiveSheet.Paste
pasteRowIndex = pasteRowIndex + 1
Sheets("Sheet1").Select
End If
Next r
End Sub
如果我在“apple”工作表中有数据并想插入一个新的行,那么sheet1中的数据将被添加到这个新行? – paul
看我上面的编辑。您需要在IF子句中添加最后一行公式 - 当工作表符合标准时,需要确定特定于该工作表的新的最后一行。最后一行用于范围(...),复制(目标)部分。 – 2013-10-05 16:51:01
最后一个问题,你知道如何只搜索上个月的日期(9/1/13 - 9/30/13)吗? – paul