如何编写Excel数据透视表宏,使之自动完成。
我的一个数据表每天都会有新的数据变动,有可能增加行货这减少行,但是列不变。我想编写一个宏,使之能够自动完成数据透视表的生成,以便省去中间许多环节,只是拖动列的项目就行了。请问这能实现吗? 难点在于每次做透视表时都要重新选取区域,今天和明天可能就不一样了。我试过,但是只能对同一区域做出表来。
我的一个数据表每天都会有新的数据变动,有可能增加行货这减少行,但是列不变。我想编写一个宏,使之能够自动完成数据透视表的生成,以便省去中间许多环节,只是拖动列的项目就行了。请问这能实现吗? 难点在于每次做透视表时都要重新选取区域,今天和明天可能就不一样了。我试过,但是只能对同一区域做出表来。
答案:不用宏就行。看看我以前回答的: excel、数据透视表、VBA:怎样才能使数据透视表的数据源区域随记录的增加而自动扩展? http://zhidao.zzzyk.com/question/52748104.html?si=1 1.先说最常用的方法: 做数据透视表的时候主要是增加行的记录,增加列的标题的比较少,如果只是增加行的记录的话,直接选择整列作为数据源来做数据透视表就行了。例如数据区域A1:D10.可以选择A:D作为数据区域做数据透视表。 如果有新增的行记录的话,刷新数据透视表就行了.当然有一个叫"(空白)"的值看着比较碍眼,一般是在行字段列字段筛选里面把它去掉。 2.即增加行又增加列的情况。也是适用性最好的一种方法。 这种情况下使用利用公式动态定义数据源。 例如数据在Sheet1工作表A1:D10。插入-名称-定义,名称:源数据 引用位置: =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$1:$1)) 数据透视表的数据区域,不用鼠标选择,而是输入名称"源数据". 这个需要注意的地方的是,Sheet1!$A:$A是每行记录都不为空的一列,Sheet1!$1:$1是源数据的标题列,都是连续的中间没有空格的数据. 3.看大家都比较推崇列表,我也是试了一下.发现插入行能够数据刷新看到更新的数据,但是最后列后面加入的列不能看到。所以使用列表的效果和第一种没有太大区别。还不如直接用第一种方法直接简单。 4.最后说一下,数据透视表最后一行前插入的行,通过数据刷新能看到; 最后一列前插入的列,通过数据刷选能看到。 最后: 如果是行列都增加推荐第二种方法. 如果只是增加行的话,用第一种方法就够了。
其他:新建工作表,然后用公式连接,将你必须的东西计入公式计算,应该可以。
上一个:如何将EXCEL表中同一名称同一类型不同数量的零件进行汇总。
下一个:求助一个EXCEL求和的问题