如何使用VBA从Excel数据集自动创build过滤列表?

Excel 2007遇到了问题,我无法find解决scheme。 我觉得我必须用VBA来做这件事,我对此毫无经验。 我有一个Excel中的数据集(约1千行)与10列。 在其他选项卡/工作表中,我现在想要显示按一列(国家/地区代码)过滤的数据。 它可以用自动过滤来完成,但它应该更像是一个报告,所以它看起来不错。

让我举个例子,我的意思是:

DATASET

列| 第2列| 第3栏

汉斯| GER | 16

彼得| 美国| 29

玛丽亚| GER | 三十

Darian | 美国| 15

丽莎| GER | 40

在其他选项卡/工作表中,我现在需要基于此数据集自动更新,格式化和过滤列表,例如:

报告

德国

汉斯| 16

玛丽亚| 三十

丽莎| 40

我们

彼得| 29

Darian | 15

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

非常感谢!

*

你有没有试过一个数据透视表结合dynamic命名范围?

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

1)为你的数据集input一个dynamic命名的范围,如下所示。

在这里输入图像说明

这将确保添加到结尾或插入到数据集中间的任何新数据都会被捕获并自动更新数据透视表刷新。

2)将您的数据透视表基于命名范围。

在这里输入图像说明

3)最后,像下面一样设置您的数据透视表。

在这里输入图像说明

然后你可以格式化你的透视表,你喜欢什么。

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

在这里输入图像说明

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