ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 821|回复: 28

[求助] 如何实现鼠标悬停(或点击)单元格后,显示筛选到的其他数据?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-21 21:18 | 显示全部楼层 |阅读模式
各位大神,需要在工作中做好经费记录,又需要经常回看到底支出了哪些,所以自己弄了这个excel文件。

sheet1是记录的每一笔开支的情况,其中部门和科目是从sheet2中vlookup指标计算过去的。
sheet2是按科目sumifs的支出总额,并计算余额。

可不可以实现,把鼠标悬停或者点击选中sheet2上E列的单元格时,能够自动提示(像注释那样)这个指标的所有开支情况
比如在E2单元格上,提示235这个指标的两笔开支的部分或者全部信息(也就是A:G中的全部或部分列)。

这样可以避免反复切换工作页并进行筛选,快速看一下科目的支出概况。

示例文件在附件了。

示例.rar

9.7 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2024-10-21 22:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
附件供参考,提示数据显示在K列开始

示例.zip

19.55 KB, 下载次数: 34

TA的精华主题

TA的得分主题

发表于 2024-10-21 22:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
使用了listview,点击e列会弹出来,仅供参考。。。
image.png
image.png

示例(3).zip

20.94 KB, 下载次数: 46

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-21 22:53 | 显示全部楼层
代码如下。。。
Private Sub UserForm_Initialize()
    Set wb = ThisWorkbook
    Set sht = wb.Sheets("sheet1")
    arr = sht.[a1].CurrentRegion
    ListView1.ListItems.Clear
    ListView1.ColumnHeaders.Clear
    ListView1.View = lvwReport
    ListView1.Gridlines = True
    ListView1.LabelEdit = lvwManual
    ListView1.FullRowSelect = True
    ListView1.ColumnHeaders.Add 1, , arr(1, 1), sht.Cells(1, 1).Width
    ListView1.ColumnHeaders.Add 2, , arr(1, 2), sht.Cells(1, 2).Width
    ListView1.ColumnHeaders.Add 3, , arr(1, 3), sht.Cells(1, 3).Width
    ListView1.ColumnHeaders.Add 4, , arr(1, 4), sht.Cells(1, 4).Width
    ListView1.ColumnHeaders.Add 5, , arr(1, 5), sht.Cells(1, 5).Width
    ListView1.ColumnHeaders.Add 6, , arr(1, 6), sht.Cells(1, 6).Width
    ListView1.ColumnHeaders.Add 7, , arr(1, 7), sht.Cells(1, 7).Width
    Dim itm As ListItem, list
    For i = 2 To UBound(arr)
        If s = arr(i, 2) Then
            Set itm = ListView1.ListItems.Add()
            itm.Text = arr(i, 1)
            For j = 1 To UBound(arr, 2) - 1
                itm.SubItems(j) = arr(i, j + 1)
            Next
        End If
    Next
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-22 00:33 | 显示全部楼层
longwin 发表于 2024-10-21 22:16
附件供参考,提示数据显示在K列开始

这种可以列在comments当中吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-22 08:44 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
quqiyuan 发表于 2024-10-21 22:53
使用了listview,点击e列会弹出来,仅供参考。。。

谢谢。非常好用了。
每次点击单元格,弹出新窗口后,不能直接点其他单元格,需要关闭表单才行。可以把这一步关闭省掉吗?

TA的精华主题

TA的得分主题

发表于 2024-10-22 09:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
附件是添加到批注的效果。

示例.zip

21.59 KB, 下载次数: 45

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-22 09:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
longwin 发表于 2024-10-22 09:06
附件是添加到批注的效果。

如果我更新过数据,是不是要删除所有注释,重新运行一次?

TA的精华主题

TA的得分主题

发表于 2024-10-22 10:41 | 显示全部楼层
beescity 发表于 2024-10-22 09:28
如果我更新过数据,是不是要删除所有注释,重新运行一次?

不需要,每次点击都会重新计算

TA的精华主题

TA的得分主题

发表于 2024-10-22 13:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
beescity 发表于 2024-10-22 08:44
谢谢。非常好用了。
每次点击单元格,弹出新窗口后,不能直接点其他单元格,需要关闭表单才行。可以把这 ...

稍作修改即可,仅供参考。。。
image.png

示例(3).zip

22.96 KB, 下载次数: 44

评分

2

查看全部评分

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-25 16:22 , Processed in 0.049879 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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