大家好,我是爱捣鼓excel的珠珠。

平时在工作中,你录入excel表格数据时,不会都是一个字一个字的码吧!

(一)双击出现下拉菜单列表

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

像这种只需要在相应的单元格双击,就会出来下拉菜单列表让你选择,然后写入到相应的单元格。

选错了也没有关系,只需要重新双击一下,就可以起到修改作用,是不是比起你一个一个输入,爽快多了!

(二)双击弹出窗件列表

先看看动态效图:

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

像上面这种操作,通过双击弹出窗体进行选择,选定后点击即可将内容填入相应的单元格中,而且还能通过查找关键字快速找到所需内容。这样的操作方式,是不是让人感觉更加顺畅愉悦?

这种窗体的操作:主要针对的是那些具有多级下拉菜单的情况,比如二级或三级下拉菜单。

我在网上找了很多关于三级菜单的制作方法,但都是在用函数嵌套来编写这些复杂的公式,这些函数的层层嵌套让我看得眼花缭乱。

对于一级菜单,我们经常使用数据验证来设置这些下拉菜单,当选项非常多时,选择起来也会让人感到十分困扰。

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

这两种方法各是如何做的呢?

其实也很简单,按我以下的步骤,你也可以轻松学会。

今天我们先来讲讲第一种方法:双击单元格产生下拉列表的方法。

(1)在工作表中插一个列表框:(开发工具--插入--Activex控件)

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

(2)在工作表中画一下框出来,原本默认的名字是Listbox1

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

(3)在名称框里把Listbox1列改成“供应商信息”,并把列表框放好位置。

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

(4)编写双击单元格,并显示供应商信息的列表框。

开发工具--visual basic --VBE编辑窗口,这里双击你列表框要放的那个工作表上。

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

因为我们是双击单元格后有下拉菜单列表出来。所以要选择工作表事件双击之前的事件:BeforeDoubleClick

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

然后输入这段代码:


With Me.供应商信息
If Target.Address(0, 0) = "E4" Then
.Visible = True
.ListFillRange = "供应商信息!D5:G" & Sheets("供应商信息").Cells(Rows.Count, "D").End(xlUp).Row
Cancel = True
Else
.Visible = False
End If
End With

这段代码是说明,

Target.Address(0, 0) = "E4":你点击单元格E4时

.Visible = True:显示列表框

.ListFillRange = "供应商信息!D5:G" & Sheets("供应商信息").Cells(Rows.Count, "D").End(xlUp).Row:是把供应商信息表里的记录读到列表框里

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

Cancel = True:单元格不处于编辑状态。

(5)点击列表框时,把信息写到到相应的单元格里的代码:

月薪3千与3万之差:不管几级菜单都不在话下!只需双击即可-趣帮office教程网

Private Sub 供应商信息_DblClick(ByVal Cancel As MSForms.ReturnBoolean) '读取列表中的数
With Me.供应商信息
For i = 0 To .ListCount - 1
If .Selected(i) Then
[E4].Value = .List(i, 0)
[G4].Value = .List(i, 1)
End If
.Visible = False
Next
End With
End Sub

这段代码的用循环来是来判断哪条记录被选中:If .Selected(i) Then

然后选中的通过双击写到相应的单元格中:[E4].Value = .List(i, 0),[G4].Value = .List(i, 1)

以上是全部步骤,这样你就可以拥有了点点点的输入方法了,再也不用手动码字了。

快快行动起来!

有什么问题,请在评论区留言哦。