永发信息网

如何用vba实现数据透视表自动筛选

答案:4  悬赏:0  手机版
解决时间 2021-11-09 03:23
如何用vba实现数据透视表自动筛选
最佳答案
用vba实现数据透视表自动筛选:
Sub 宏1()

k = Cells(65536, 1).End(4).Row

For i = 4 To 1 Step -1

ActiveSheet.Range("$A$3:$D$" & k).AutoFilter Field:=i, Criteria1:=Cells(1, i).Text

If Columns(1).Count < 2 Then

ActiveSheet.Range("$A$3:$D$" & k).AutoFilter Field:=i

End If

Next i

End Sub
  

  VBA:Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。
  由于微软Office软件的普及,人们常见的办公软件Office软件中的Word、Excel、Access、Powerpoint都可以利用VBA使这些软件的应用更高效率,例如:通过一段VBA代码,可以实现画面的切换;可以实现复杂逻辑的统计(比如从多个表中,自动生成按合同号来跟踪生产量、入库量、销售量、库存量的统计清单)等。
  掌握了VBA,可以发挥以下作用:
  1.规范用户的操作,控制用户的操作行为;
  2.操作界面人性化,方便用户的操作;
  3.多个步骤的手工操作通过执行VBA代码可以迅速的实现;
  4.实现一些VB无法实现的功能。
  5.用VBA制做EXCEL登录系统。
  6.利用VBA可以Excel内轻松开发出功能强大的自动化程序。
全部回答
关注一下,顺便做个任务,呵呵
建议你先录制一个手动操作的宏 再查看下就明白了

代码如下:


  1. Sub 宏1()

  2. k = Cells(65536, 1).End(4).Row

  3. For i = 4 To 1 Step -1

  4. ActiveSheet.Range("$A$3:$D$" & k).AutoFilter Field:=i, Criteria1:=Cells(1, i).Text

  5. If Columns(1).Count < 2 Then

  6. ActiveSheet.Range("$A$3:$D$" & k).AutoFilter Field:=i

  7. End If

  8.  Next i

  9. End Sub

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
作文 我也能坦当
海门临永汽渡到三厂路中心路怎么走
现在房地产的股票价格可以投资买吗,本人想买
j教师资格证得取方法怎样的。
豆瓣作者认证后多久可以上架
铁路货运查询号码
第四个字是兵的有什么成语
时间的秒怎么写
250kv变压器 75kw的电机2个 距离1000米需要多
社保卡为什么要和金融账户激活
美貌留镜情如初, 颜容不改爱随意。 求对诗
怎么给糯米上色?就是跟粽子颜色差不多?
心情郁闷,去哪里散散心比较好?
私人的供卵多少钱一个?
房子建在山脊上怎么破解
推荐资讯
泰洁干洗(安居路)地址在什么地方,想过去办事
名达菲手表多少钱 型号是MD88117TTG
园艺可以翻阅什么资料?
求一份五月天倔强的C调简谱,,
法诗克橱柜电器地址在什么地方,想过去办事
女生头顶是平的适合什么发型
形容很稠密的样子,相关词语?
零点酒吧地址好找么,我有些事要过去,
去蛋糕店当学徒都需要做些什么?
电热水器可以供地暖吗?
吃冰菜的花生酱怎么调
QCC活动成果报告怎么做
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?