Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6025|回复: 5

[已解决]每次筛选的值发生变化后,自动运行宏的代码求助

[复制链接]
发表于 2012-9-14 13:36 | 显示全部楼层 |阅读模式
问题:
只要筛选值一发生变化,就触发宏,让F1单元格的值等于筛选值,这个代码如何写?
以下代码不是自动运行,每次都要我点击按纽2以后才能运行,现在的问题就是如何让这个宏自动运行?
Sub Macro1()
For Each x In Columns("A:A").SpecialCells(xlCellTypeVisible)
s = s + 1
If s = 2 Then cells(1,"f")=cells(x.row,1).value: Exit Sub
Next
End Sub

最佳答案
2012-9-14 16:09
Book1.rar (5.9 KB, 下载次数: 269)

Book1.zip

7.67 KB, 下载次数: 24

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-9-14 13:46 | 显示全部楼层
本帖最后由 E路人 于 2012-9-14 13:55 编辑
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     For Each x In Columns("A:A").SpecialCells(xlCellTypeVisible)
  3.         s = s + 1
  4.         If s = 2 Then Cells(1, "f") = Cells(x.Row, 1).Value: Exit Sub
  5.     Next
  6. End Sub
复制代码
工作表选择事件
x应该是单元格,请更改为 Target

评分

参与人数 1 +1 收起 理由
秋意正浓 + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-9-14 14:04 | 显示全部楼层
麻烦二楼写一个完整的代码,要将X改为TARGET,我有点不了解这方面的做法,谢谢了
回复

使用道具 举报

发表于 2012-9-14 14:29 | 显示全部楼层
秋意正浓 发表于 2012-9-14 14:04
麻烦二楼写一个完整的代码,要将X改为TARGET,我有点不了解这方面的做法,谢谢了

把X改成target 就行 。
回复

使用道具 举报

发表于 2012-9-14 16:09 | 显示全部楼层    本楼为最佳答案   
Book1.rar (5.9 KB, 下载次数: 269)

评分

参与人数 1 +1 收起 理由
秋意正浓 + 1 赞一个!经测试,Private Sub Worksheet_Cal.

查看全部评分

回复

使用道具 举报

发表于 2012-9-14 16:14 | 显示全部楼层
如果只是为了取得筛选值,用函数最简单
=SUBTOTAL(109,A:A)(数据库函数:只计算显示的数据)

Book1.rar

4.99 KB, 下载次数: 29

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-31 10:13 , Processed in 0.458125 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表