宏将选择行复制到另一个工作表并按月排序

时间:2009-07-01 04:37:20

标签: excel vba sorting

有没有人有一个宏可以从编译列表中获取数据,整理特定月份,只将已分拣的月份粘贴到新工作表中?

我正在设置的是一个日志,其中样本被所有员工放在“完整列表”中,然后当老板想要查看仅1月份的某些月份样本时,他将能够点击1月按钮并且它将他带到一个工作表,该工作表仅将“完整列表”工作表中的“1月”日期样本复制到新的位置以供查看。由于数据不断进入,因此每次都需要对新数据进行排序和选择。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我刚刚使用.advancedfilter函数创建了一个模拟工作簿。

我使用的资源只有:http://www.vbaexpress.com/kb/getarticle.php?kb_id=567

您应该能够从中找到它,并从示例电子表格中,您可以从底部下载。如果你做不到,那我就害怕你了。)

答案 1 :(得分:0)

通过创建按月分组的数据透视表,可以在没有VBA的情况下完成此操作。双击特定月份的值时,将自动创建一个新工作表,并使用该月份的过滤数据集填充。

  • 选择您的数据,然后点击“数据 - 数据透视表和数据透视图报告

  • 再次点击下一步按钮,下一步按钮,然后点击完成按钮

  • 将日期字段拖到行字段

  • 将员工姓名拖到数据项部分

  • 右键单击包含日期的行字段,然后选择“组和显示详细信息 - 组

  • 设置开始日期和结束日期,并选择按月分组

现在双击数据项区域中的任何金额将创建一个新工作表,显示用于生成数字的数据。

当您的数据不断变化时,请使用“插入 - 名称 - 定义”创建动态命名范围,以用作数据透视表范围。动态命名范围的公式看起来类似于:

=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!A:A),3)

如果您使用的是Excel 2007,请将数据标记为表格( Ctrl-T ),并将其用作数据透视表的基础,以达到相同的效果。