wx.updateappmessagesharedata 自定义内容无效_Excel126能根据输入内容自动更新的下拉菜单你用过吗?|Excel126...

数据场景

81bef58013479f04b3901d1442267bf2.png 小伙伴们大家好,今天分享一个可以根据输入内容自动更新的下拉菜单。具体效果参见如下动图: 78fe752c5a914be07aa866dfe7a86c9e.gif 从效果演示可以看出,输入关键字后,下拉菜单中的项目会自动更新,列出只包含关键字的项目,不输入内容时,列表显示所有项目,这样录入内容效率那是相当的高啊!那么这个效果是如何实现的呢?跟我一起操练起来吧! 步骤一:导入自定义函数代码 自定义函数顾名思义是自己定义的,非Excel内置的函数。 要使用自定义函数,需要将定义函数的代码导入到VBE编辑器的模块中,具体操作参见动图演示: f6b872ba5f001fb74e74655211010426.gif 想要了解代码的含义,欢迎加入网易云课堂《揭秘Excel真相》课程,VBA篇章对该自定义函数代码做了详细的讲解,欢迎小伙伴们围观。代码如下:

Function Look(Value1, ByVal Range1 As Range, ByVal num As Integer)    If Value1 = "" Then Exit Function    If Range1.Columns.Count > 1 Then Exit Function    For Each D In Range1       If D.Value Like Value1 Then            c = c + 1            If c = num Then                v1 = D(1, 1)                Exit For            End If        ElseIf IsEmpty(D) Then            Exit For        End If    Next    If v1 = "" Then v1 = ""    Look = v1End Function

步骤二:制作辅助列表 制作辅助列表之前要先准备好项目清单,即需要下拉菜单中包含的所有项目的列表。 这里我们准备好了商品清单作为演示,如下图所示: be2bd7fafed6df8df3be1bb0aee209a5.png 根据商品清单,我们在D列制作辅助清单,下拉菜单最终引用的是辅助清单,这就要求辅助清单要根据我们输入的内容自动更新。 我们将辅助清单的标题命名为[已输入商品],然后在D2单元格输入公式,向下填充查看效果。具体操作参见动图演示: b36290b441a2a557d019e215fc914698.gif

这里只是先写个例子,公式还需进一步加工。首先介绍一下Look函数的用法。

参数1: 要查找的值(要查找什么?) 参数2: 要查找的值所在的列(在哪里查找?) 参数3: 要查找第几个值? 公式:=look("*计划*",$A$2:$A$40,ROW(A1)) "*计划*"表示查询的值包含计划二字,为Look函数的第一参数 $A$2:$A$40 为Look函数的第二参数,表示要查找的值所在的列,这里需要绝对引用,防止因公式下拉导致范围变动。 ROW(A1)为Look函数的第三参数,获取A1单元格的行号,结果为1,随着公式的下拉,ROW(A1)变成 ROW(A2),ROW(A3),ROW(A4)...... ,这样就能找到第一个值,第二个值,第三个值......第N个值。 这个公式是很好理解,可是不够灵活,有需要改进的地方。 改进一:要查找的关键字不是计划,而是在单元格内输入的内容,应该怎么办呢? 这个时候我们用cell函数。将 "*计划*" 替换为 "*"&Cell("Contents")&"*" Cell("Contents")解析: 获得鼠标所在(或当前选中)的单元格的内容,如果选中的是一个区域,只返回该区域左上角的单元格内容。 改进二:查找的范围$A$2:$A$40 被固定死了,如果新增项目,不会自动扩展。 范围的起始点A2单元格不变,A40单元格要根据商品清单的个数自动变化,也就是40需要变成一个变量,于是我们把范围改成这样: "$A$2:$A$"&COUNTA(A:A)  COUNTA(A:A)用来计算A列的不重复个数,随着列表的增加,这个值也会相对变化。 可是这样处理过后的范围变成了一个文本字符串,不再是一个单元格引用,这该怎么办呢? 我们可以在外面套一个INDIRECT函数,把文本字符串类型的地址,转换成真正的单元格引用,可以写成这样: INDIRECT("$A$2:$A$"&COUNTA(A:A) ) 经过这样的改造,公式就灵活多了,最终的公式: =Look("*"&CELL("contents")&"*",INDIRECT("$A$2:$A$"&COUNTA(A:A)),ROW(A1)) eaaf5ace5eb60650136254734da07594.png 现在知道为啥要先写个例子了吧,只有先易后难,层层分解,才能理解这个公式的精髓。 步骤三:制作下拉菜单 这步操作就简单啦!直接上动图: 3ac81079be0c4c2a65878aa19430da17.gif 最关键的一点就是要在[出错警告]页面下,将[输入无效数据时显示出错警告]前面的勾勾去掉,不然在单元格输入内容时会提示错误 。序列的来源就是辅助列表的范围。 步骤四:保存为启动宏的工作簿 由于工作簿中包含自定义函数代码,为了确保下次打开工作簿时还能继续使用,请将工作簿另存为启动宏的工作簿,如下图所示: 6c51b404abdac5147b54d85aa0b9f005.png 如果不保存成这种格式会怎样?下次打开后代码就丢失了,还要重新导入,不怕麻烦的小伙伴可以尝试一下。 今天的分享就到这里,你都学会了?光看不练假把式,不断的练习才能促进知识的内化, 我们下期再见! 更多Excel技能,欢迎您加入布衣公子网易云课堂《揭秘Excel真相》课程。

PPT课程地址:http://t.cn/Rm4oVdo

Excel课程地址:http://t.cn/Rm4oCLR

关联阅读:

新、老、离职员工名单只要刷新一下就能轻松获取|Excel125

如此不规则的数据是该好好整治整治了!|Excel124

批注操作,游刃有余,批量导出 So Easy!|Excel123

打开这篇文章之前,无法想象条件格式能带给我们什么惊喜|Excel122

白送一个提取不重复值的函数给您|Excel121

逆天啦!Excel居然能按颜色统计|Excel120

别不信,学会这几个函数能帮你省下一天的时间!|Excel119

结构大反转简直逆天,PQ超乎你的想象|Excel118

对筛选结果按条件计数,这招很冷但管用!|Excel117

仪表板可视化速成大法,3分钟就能搞定!|Excel116

还在用Excel做数据分析报告吗?PowerBI已经被众星捧月|Excel115

……

更多技能分享请您后台回复「目录」查看

福利关键词:70、PNG、地图、姜饼人、图标、样机、手、试看、试听、封面、封底、排版、图表、目录页、过渡页、标题栏,后台回复有惊喜哦!

布衣公子《揭秘Excel真相》课程原价299

前5000人惠顾仅需199元

单击了解>>《揭秘EXCEL真相》课程详情

5e411483c5d3c0e86dcf4f8494623b11.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值