ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 综合应用 > 如何按要求筛选合并单元格中的多行记录?

如何按要求筛选合并单元格中的多行记录?

作者:绿色风 分类: 时间:2022-08-18 浏览:230
楼主
lrlxxqxa
Q:如何按要求筛选合并单元格中的多行记录?
问题描述:如何建立下面的筛选?根据左下的B列第6行起的客户名称,在B5单元格建立一个筛选:               
1、B5单元格中:包括B6及以下的所有客户名称;               
2、选中其中的某一个客户时,只把该客户筛选出来,其余的客户隐藏。
    具体见下面的效果效果图


 

A:给出两种解决方案:
1、VBA法(由biaotiger1提供)
Alt+F11进入VBE界面,在sheet1工作表中输入代码:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     On Error GoTo 1
  3.     If Target.Address = "$B$4" Then
  4.         '清除筛选,使所有行可见
  5.         Cells.Rows.Hidden = False
  6.         '查找待筛选行的区域
  7.         Set Rng = Range("B5:B91").Find(what:=Range("B4").Value).MergeArea.EntireRow
  8.         '隐藏行
  9.         Range("A6:A91").EntireRow.Hidden = True
  10.         '满足要求行显示
  11.         Rng.Hidden = False
  12.     End If
  13.     Exit Sub
  14. 1:
  15.     MsgBox "未找到数据,请重新输入"
  16. End Sub
效果如下:

 

2、基础操作法:
利用定位和格式刷批量填充客户名称至合并单元格,再进行自动筛选。

 
如何建立筛选?.rar
2楼
larkzh
不错,学习了。一个疑问:格式刷可以合并单元格,但保留所有单元格的值,直接合并单元格就只能保留第一个单元格的值,这是为什么。
3楼
rabbitllu
用格式刷是将合并单元格的格式刷出来,去刷需要合并的区域是保留原来每个单元格的值的,合并单元格值允许保留需要合并区域的左上角第一个单元格的值(无论现在该单元格是否为活动单元格)
4楼
冯晶晶2011
为什么格式都是一样,而开始的时候无法删选,重新合并一次就可以呢
5楼
lrlxxqxa
因为合并单元格中只有最左上角的单元格中有值,其他都为空。
6楼
菩提子
学习了。
收藏先
7楼
chenlifeng
大家这么关注,让我感到无比荣幸啊!
看来遇到经典问题,除了自已解决外,还得多与大家一起分享!
8楼
jay_008
法2:
单元格式刷B列-->取消单元格合并-->ctrl+g定位空值-->=B6(这里就有疑问啦 我的只有B7单元格能显示 其余空值无法复制)
9楼
jay_008
我承认错啦
我运用了数组公式=B6(ctrl+shift+enter)
但是还是不行 为什么还是不行呢? 难道还有虾米小技巧?
10楼
jay_008
我再次承认错啦
我运用了数组公式=B$6(ctrl+shift+enter)
但是还是不行 为什么还是不行呢? 难道还有鱼酒小技巧?

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap