2012-07-06 82 views
1

我遇到了Excel 2007的问题,我无法找到解决方案。我认为必须使用VBA才能做到,因为我对此毫无经验。 我有一个数据集在Excel(约1k行)10列。在其他选项卡/工作表中,我现在想要显示按一列(国家/地区代码)过滤的数据。它可以通过自动过滤来完成,但它应该更像是一个报告,所以它看起来不错。如何使用VBA自动创建Excel数据集中的过滤列表?

让我做什么,我的意思是一个例子:

DATASET

栏|第2列|第3列

Hans | GER | 16

Peter |美国| 29

Maria | GER | 30

Darian |美国| 15

Lisa | GER | 40

在其他选项卡/工作表,我现在想根据这组数据的自动更新,格式化和过滤列表,例如:

报告

德国

汉斯| 16

Maria | 30

Lisa | 40

美国

彼得| 29

Darian | 15

我希望你明白我的意思。如果我在数据集表中添加新行数据,我希望报告自动更新(所以我不能只是自动筛选列表,因为需要的行数取决于数据点)。我认为使用VBA宏应该很容易,但我不知道如何去做......非常感谢!

非常感谢!

*

+0

您是否有权访问MS Access?这对于像这样的自定义报告生成会更好,这并不是Excel的强项。如果它必须来自Excel,您甚至可以将数据链接到链接表。 – mellamokb 2012-07-06 14:42:20

+0

感谢提示Mellamokb!听起来不错,工作。关于访问报告的一件事:如果我链接到我的Excel工作表,它不会像在Excel中那样计算所计算的数字,并且报告中的数字会变长...在Access中是否有像Access Excel自动循环数字后例如第二位小数? – user1507035 2012-07-06 15:08:02

+0

而且:正如我想学习的那样,我仍然对Excel中的解决方案的样子感兴趣?感谢任何提示:) – user1507035 2012-07-06 15:14:10

回答

3

您是否尝试过数据透视表与动态命名的区域合并?

由于上面的数据集是在工作簿Sheet1中设置的,因此从A1开始使用列名称。请参阅以下解决方案。

1)为您的数据集输入一个动态命名范围,如下所示。

enter image description here

这将确保被添加到末尾,或者插入到数据组的中间的任何新的数据被捕获并具有枢转表刷新自动更新。2)将您的数据透视表基于命名范围。

enter image description here

3)最后,建立数据透视表如下图所示。

enter image description here

然后,您可以格式化你的数据透视表,你怎么样。

+0

动态范围比只是一个直接枢轴的效果更好 - 只需添加更多数据即可刷新数据透视表 – SeanC 2012-07-06 16:19:53

+0

问题是,在实际数据集中存在非数字属性,并且数据透视表无法显示它们因为它既不是一个SUM也不是一个平均值...... – user1507035 2012-07-06 16:21:20

+0

你可以对非数字属性 – 2012-07-06 16:28:35

0

数据透视表可以执行您正在查找的分组类型。使用您所提供的数据,这是我从透视表中得到:

enter image description here

+0

好的解决方案,但是这并不能完全解决用户需要能够更新原始PT创建后添加的数据的问题。更新范围源是时间是一种痛苦。 – 2012-07-06 16:16:38

0

我建议你看一看数据透视表。他们可能有点复杂,但一旦你弄清楚他们如何工作,他们是非常有用的。

+0

本来可以为一个好的Excel解决方案提供+1,但根据其他答案中提供的解决方案提供的更多用户友好的帮助,很难做到这一点。另一方面,欢迎来到SO!在这里玩得开心:) – 2012-07-06 16:15:19

+0

谢谢,有趣的sit.e – 2012-07-06 20:53:08