2010-08-30 23 views
1

我每周运行一个报告,并希望将特定日期范围内的行剪切成新的工作表(即所有行与交易之间的一个月的第16个月下个月的15日)。Excel宏选择和切割多行到一个新的工作表

我想剪切07/16和08/15之间的所有行,并将它们放在一个名为“Aug”的新工作表中 然后剪切08/16和09/15之间的所有行,并将它们放在一个新的workseet称为 “九月”

实施例数据

列A - B列 - 列C

发布日期 - 名称 - 卖方

10年7月25日 - 威尔逊 - 星巴克

08/05/10 - 威尔逊 - 美国航空公司

10年8月14日 - 广 - 苹果商店

08/15/10 - 麦基 - 斯台普斯

10年8月17日 - 库里 - AT &牛逼

09/02/10 - 约翰逊 - 埃克森

09/11/10 - 西姆斯 - 老海军

+0

你想把它们剪掉 - 或者只是根据日期标准转移它们吗? – 2010-08-30 20:37:00

+0

我想剪下它们 – Sam 2010-08-31 15:00:27

回答

1

好吧,如果您在目标工作表上有一个标题行,这将工作。我刚刚实现了8月份的复制和粘贴,但是添加9月或者完全通用并且在整年内都可以完成,这很简单。

Dim workingrow As Range 

For Each workingrow In Sheets("Main").Rows 

If (workingrow.Cells(1, 1).Value >= DateValue("7/16/2010")) And _ 
    (workingrow.Cells(1, 1).Value <= DateValue("8/15/2010")) Then 
     workingrow.Copy (Sheets("Aug").Rows(1).End(xlDown).Offset(1, 0)) 
End If 

Next workingrow 
+0

感谢您的帮助。我是VBA的初学者 - 我只用它来移动对象/编辑图形。 我认为有一个每个月的标签将工作。 (1).End(xlDown).Offset(1,0)) 我得到的应用程序 - 定义的错误 – Sam 2010-08-31 14:57:31

+0

我想剪掉它们 – Sam 2010-08-31 15:00:11

+0

@Sam,我的猜测是你得到错误,因为表单是空的,这就是为什么我说你需要有一个标题行。它至少需要一个预先存在的行才能正常工作(因为End方法的工作原理)。要使其成为__Cut__,只需将剪切替换为复制。 – 2010-08-31 19:27:05

相关问题