如何根据单元格的值复制新工作表中的行

时间:2015-02-13 13:33:12

标签: excel vba excel-vba

我尝试创建以下宏,但是我失败了:

我有Sheet1有几列,其中一列名为“序列号” 我希望宏添加5个新工作表,名为“Customer1”......“Customer5” 然后浏览名为“序列号”的列,如果该号码是每个客户的组号之一,则在相应的工作表中复制/粘贴该行。 不同客户的序列号是5位或6位数的组,但不是连续的,所以我必须手动输入(例如如果1234或2345或7654 .... - >复制/粘贴到Customer1 )。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

尝试类似这样的事情,但不是很有效率,但要完成工作:

Sub go_through_rows ()
lastrow = Cells(Rows.count, "A").End(xlUp).Row
for i to lastrow
IF Cells(i,1) = "cutomer ID" OR "cutomer ID2" 'If your customer ID is in row A , if it's in B use 2 instead of 1 here and so on
rows(i & ":" & i).select
selection.copy
SHEETS("target sheet name").activate
CELLS("A1").select
SELECTION.End(XlDOWN).select 'jumps to the last value in the sheet make sure there is data here already
ActiveCell.OFFSET(1, 0).select
Paste
Sheets("sheet with the raw data").activate
ELSE 'nothing
END IF
next i

这可以通过更多IF进行调整,并将值作为变量添加。 应该为你的目的而工作,但如上所述,如果你的数据很庞大,它就不是很有效。