✅ 操作成功!

表格下拉选项怎么设置

发布时间:2023-06-07 作者:admin 来源:文学

表格下拉选项怎么设置

表格下拉选项怎么设置

-

2023年2月18日发(作者:)

在Excel中制作下拉列表的3种方法

下拉列表在Excel中的用途十分广泛。在Excel中制作下拉列表可以通过数据有效性、使用窗体控件和VBA

控件工具箱中的组合框来制作。下面我们用一个具体的例子来进行说明(在文章结尾处可下载xls格式的示

例文件)。假如我们每个月都有一个工资表,其中每个员工的工资按照其出勤天数每个月都不相同。

我们需要制作一个“个人工资表”来查看每个人每个月的工资情况,这时就可以制作一个包含员工姓名下拉

列表,在其中进行选择来查看指定员工每个月的工资情况。

方法一:使用数据有效性

通过数据有效性可以在单元格中提供一个下拉箭头,单击下拉箭头会弹出下拉列表。因为员工姓名都在每

月的工资表中,而“个人工资表”中没有这些人员姓名,所以我们必需先定义名称,以便在“个人工资表”中设

置数据有效性时进行引用。

定义名称的方法是单击菜单“插入→名称”,在定义名称对话框中进行定义,这里将“1月工资”表中的姓名区

域B3:B14定义为“姓名”,如图。

1.假如下拉列表放在“个人工资表”的C1单元格,选择C1单元格,然后单击菜单“数据→有效性”,选择“设

置”选项卡,在“有效性条件”区域中“允许”下方的下拉列表中选择“序列”。

2.在“来源”下方的文本框中输入“=姓名”。单击“确定”。

推荐:点击免费下载最新版WPS办公软件》》查看更多

3.在《课表》程序里,我直接选择事先输入好内容(语数外……)的区域,没有采用下面的做法。

3.在数据区C3:H14中用VLOOKUP函数对工资数据进行关联。例如第3行为1月工资,可以在C3单元

格中输入公式

=VLOOKUP($C$1,\'1月工资\'!$B$3:$H$14,2,0)”

在D3单元格中输入公式:

=VLOOKUP($C$1,\'1月工资\'!$B$3:$H$14,3,0)

在C4单元格中输入公式:

=VLOOKUP($C$1,\'2月工资\'!$B$3:$H$14,2,0)

其余单元格依此类推。这样,只要在单击C1单元格右侧的下拉箭头选择员工姓名就可以查看其所有月份

的工资情况。

方法二:用窗体控件(但该方法的缺陷在于,当所在工作表无论有单元格处于允许有单元格编辑状态,还

是表保护状态,该控件都不能被更改,即所选值不能显示到控件上。)因此。该方法不能使用。

1.在菜单栏上右击,在弹出的菜单中选择“窗体”,将弹出“窗体”浮动工具栏,单击“组合框”控件。

2.将光标放到表格中,这时光标变成细黑十字形,在表格中画一个组合框。

3.右击组合框,在弹出的菜单中选择“设置控件格式”。

在“设置控件格式”对话框中选择“控制”选项卡,设置“数据源”区域为“\'1月工资\'!$B$3:$B$14”(或“姓名”),设

置“单元格链接”为$J$1,如图。

单击“确定”回到表格中,按ESC键或在任一单元格单击一下取消组合框的编辑状态。这样设置以后,我们

在下拉列表中选择一个姓名后,在J1单元格中将出现该姓名在姓名列表中的相对位置。例如我们选择第3

个姓名“王霞”,J1单元格中返回数值3。

4.在数据区C3:H14中用VLOOKUP函数对工资数据进行关联,利用工资表中的序号数字返回工资数据,

方法同上。

方法三:用VBA控件工具箱中的组合框控件。(该方法在EXCEL2007里找不到控件。)

1.在菜单栏上右击,在弹出的菜单中选择“控件工具箱”,将弹出“控件工具箱”浮动工具栏,单击“组合框”控

件。

2.将光标放到表格中,这时光标变成细黑十字形,在表格中画一个组合框。

3.右击组合框,在弹出的菜单中选择“属性”。

4.在“属性”窗口中,将ListFillRange属性设置为“\'1月工资\'!B3:B14”。关闭“属性”窗口。

5.按Alt+F11,打开VBA编辑器,在“个人工资表”中添加下列代码:

PrivateSubComboBox1_Change()

Range(\"c1\")=

EndSub

6.在数据区C3:H14中用VLOOKUP函数对工资数据进行关联,方法同上。

另外,我们也可以使用VBA代码将员工名单添加到组合框中,有两种方法供选择:

在VBA编辑器的“工程”窗口中,双击“ThisWorkBook”,在右侧的代码窗口中输入下列代码:

1.使用AddItem方法添加项目:

PrivateSubWorkbook_Open()

DimvNameAsVariant

DimiAsInteger

\'创建列表

vName=Array(\"张梅\",\"黄中\",\"王霞\",\"应军军\",\"郑枭\",\"刘梅波\",\"李飞\",\"吴燕\")

\'使用AddItem方法

Fori=LBound(vName)ToUBound(vName)

mvName(i)

Nexti

EndSub

2.使用List属性添加项目:

PrivateSubWorkbook_Open()

DimvNameAsVariant

DimiAsInteger

\'创建列表

vName=Array(\"张梅\",\"黄中\",\"王霞\",\"应军军\",\"郑枭\",\"刘梅波\",\"李飞\",\"吴燕\")

\'使用List属性

=ose(vName)

EndSub

其中Sheet3是VBA编辑器“工程”窗口中与“个人工资表”名称对应的工作表,这里直接引用的是Sheet3,

而不是工作表名称。这样,每次打开工作簿时,姓名列表会自动添加到组合框中。

👁️ 阅读量:0