swift添加下拉刷新_这个下拉列表很另类,但做法超简单!|Excel127

b3cd5ae3d22ee6280744c2bc1f0965f6.png

小伙伴们大家好,昨天分享了一个用自定义函数制作的可以根据输入内容自动更新的下拉菜单。

今天分享另外一种更加便捷的下拉列表,输入关键字后自动弹出列表,无需再点击下拉箭头。具体效果参见动图:

409e4bd5d57ad8912f4137aacccc9eff.gif

从效果演示可以发现

① 输入关键字后,下拉菜单中的项目会自动更新,列出只包含关键字的项目;

② 不输入内容时,按Backspace键,列表显示所有项目供选择;

③ 鼠标选中单元格后自动进入录入状态,列表始终显示在活动单元格的右侧。

那么这个效果是如何实现的呢?跟我一起操练起来吧!

步骤一:调用开发工具选项卡 很多小伙伴的工具栏中没有 [开发工具] 选项卡,所以操作之前我们先来学习如何调用 [开发工具] 选项卡。 步骤非常简单:文件 → 选项 → 自定义功能区 → 勾选[开发工具],具体操作参见动图演示: 0b135efb092c0dc3ec3437360646fc50.gif 经过如上设置,[开发工具] 选项卡就会出现在功能区中。 步骤二:添加文本框控件 有了 [开发工具] 选项卡,我们就可以在里面找到相应的控件,首先要插入的是文本框控件,具体操作参见动图演示: 69fc9d65cd6703a71c952109e008dd47.gif

文本框控件默认的名称为:TextBox.1,这个名称会出现在后面的代码中,非常重要。

步骤三:添加列表框控件 列表框控件添加的方法同文本框控件,如下图所示: 6bb023f9f2bac23b40f54cf7c38b357f.png 列表框控件默认的名称为: ListBox.1 步骤四:添加工作表 SelectionChange 事件 工作表事件是指在工作表中进行的某项操作所触发的一系列动作。 SelectionChange事件是指在工作表中选择某个单元格时触发的一系列动作,这些动作需要我们用代码来规定。 例如: 当单击某个单元格时,设置文本框控件的宽度,高度,位置,字体大小,字号,以及列表框控件的相应属性等,代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)    With TextBox1        If Target.Count = 1 Then            If Target.Column = 3 Then                .Visible = True                .Height = Target.Height                .Width = Target.Width                .Top = Target.Top                .Left = Target.Left                .Activate                .Value = ""                .FontSize = 10                .FontName = "微软雅黑"                ListBox1.Visible = False                ListBox1.Top = Target.Top                ListBox1.Left = Target.Left + Target.Width                ListBox1.Width = Target.Width                ListBox1.Clear            Else                .Visible = False                ListBox1.Visible = False            End If        End If    End WithEnd Sub

代码的添加方法: 代码应该写在文本框控件所在的工作表中,我们的文本框控件被绘制在 [效果演示] 工作表中,具体操作参见动图演示: a1e260dbf9006406a4b9591e29ce433b.gif 步骤五:添加列表框控件的 Click 事件 列表框控件的Click事件是指单击列表框时触发的一系列动作。 这里代码的作用是单击列表框时将选择的内容写入单元格中,并且隐藏列表框控件和文本框控件,代码如下:

Private Sub ListBox1_Click()    ActiveCell = ListBox1.Value    ListBox1.Visible = False    TextBox1.Visible = FalseEnd Sub

代码添加在列表框控件所在的工作表,即 [效果演示] 工作表中,方法同上,不再赘述。 步骤六:添加文本框控件的 KeyUp 事件 文本框控件的KeyUp事件是指在文本框控件中键入内容时触发的一系列动作。 例如:  根据在文本框控件中输入的内容在商品清单表中查找符合要求的项目添加到列表框控件中,代码如下:

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)    Dim cell As Range, rng As Range    With ListBox1        Set cell = Sheets("商品清单").[a2:a40]        .Visible = True        .Clear        For Each rng In cell            If InStr(rng, TextBox1.Value) Then .AddItem rng.Value            .Font.Size = 10            .Font.Name = "微软雅黑"            .Height = .Font.Size * .ListCount + 30        Next    End WithEnd Sub

商品清单表如下图所示:包含所有需要在列表中显示的项目

57a69ca1cc2cbe608e6070753e066375.png

代码中的清单范围设定为[a2:a40],如果范围有变可以尝试自行修改。

代码的细节部分由于篇幅有限,不能做具体讲解,感兴趣的小伙伴可以加入网易云课堂《揭秘Excel真相》课程的VBA篇章进行深入学习和交流。

步骤七:取消设计模式

所有代码都粘贴到VBE编辑器后,最关键的一个步骤是取消设计模式。具体操作参见动图演示:

023b96ab70fd990f5908da6aa9a0090e.gif

取消设计模式后,原本凌乱摆放的文本框控件和列表框控件就会在代码的作用下就位,接着我们就可以测试一下菜单是否可以正常使用啦!

步骤八:保存为启动宏的工作簿

由于工作簿中包含代码,为了确保下次打开工作簿时还能继续使用,请将工作簿另存为启动宏的工作簿,如下图所示: 493c2d2a866e1bbea3fe8e410ba17ba6.png 如果不保存成这种格式会怎样?下次打开后代码就丢失了,还要重新导入,不怕麻烦的小伙伴可以尝试一下。 今天的分享就到这里,你都学会了?光看不练假把式,不断的练习才能促进知识的内化, 我们下期再见! 更多Excel技能,欢迎您加入布衣公子网易云课堂《揭秘Excel真相》课程。

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

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

关联阅读:

能根据输入内容自动更新的下拉菜单你用过吗?|Excel126

新、老、离职员工名单只要刷新一下就能轻松获取|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真相》课程详情

7e2bff860f721ce5cfb8eea2cd512122.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值