怎么样增加excel的下拉菜单长度(数据--有效性--序列) 下拉只能看到八项目,如果增加这个下拉的长度。

如题所述

可通过VBA实现下拉框加长的(显示更多待选项)的需求.

    按Alt+F11,调出VBA,在VBAProject 右键→插入→用户窗体

    请点击输入图片描述

    调整窗体成细长的形状

    请点击输入图片描述

    分别增加一个按钮和列表框

    请点击输入图片描述

    在工作表某列把待选内容输入好(此例放N列);双击列表框,在弹出的窗口中输入以下代码

Private Sub UserForm_Initialize()

n = Sheets("记录明细").Range("N" & Rows.Count).End(xlUp).Row

arr = Sheets("记录明细").Range("N3:N" & n)

ListBox1.List = arr

End Sub

5.单击"UerForm1",双击 "选择"按钮

6.在弹出的VBA窗口中输入以下代码

Private Sub CommandButton1_Click()

Dim s As String

For i = 0 To ListBox1.ListCount - 1

 If ListBox1.Selected(i) = True Then

  s = s & ListBox1.List(i, 0)

 End If

Next i

ActiveCell = ActiveCell & s

Unload Me

End Sub

7.在工作表名称上右键→查看代码

8.输入以下代码

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Target.Column = 4 And Target.Row > 2 Then

 UserForm1.Show

End If

End Sub

9.双击待选单元格,点击需要的内容,再点选择

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-28

选择设置区域:
1、在“数据”选项下的“数据有效性”“设置”中,选择“序列”;
2、来源中输入下拉菜单内容,以英文逗号分隔,或直接选择下拉菜单内容所在区域,确定后,即可生成下拉菜单。

第2个回答  推荐于2016-08-20
如果下拉的选项很多,甚至远远超过楼主需要的8项,手动添加是比较繁琐的,推荐楼主用“指定名称”的方法快速添加:
假设所属行业比如“食品餐饮”,“图书录像”之类的字段在A2:A100单元格区域,且A1为标题行“所属行业”字段
步骤一:选中A1:A100后单击“插入”菜单栏里的“名称”-----选择“指定”----勾选“首行”----单击确定
步骤二:选择创建下拉列表的单元格-----并单击“数据”菜单栏里的“有效性”-在“设置”的“允许”里选择“序列”-----在下面的输入框输入“=所属行业”
通过这两步可以把A1到A100的内容快速输入到下拉列表里。

注:通过此方法可以把所有选中区域按第一行为名称来进行命名,且数据来源即本例的A1:A100区域不必在本表内,可以是同工作簿的其他工作表!本回答被提问者采纳
第3个回答  2019-01-28
你的截图上有滚动条,说明你的下拉列表里面有很多项。拖动滚动条就可以选择需要的选项。这是我估计你问都是,这里只能看到八个选项,你想同时能看到超过八个选项。这个是制作EXCEL软件的时候就已经固定了,估计不能拉长同时能显示更多选项。。
第4个回答  2011-10-20
点击excle 选择需要设定的位置 数据-有效性-设置 在允许里选择-序列 再来源里填上-内容,内容 (把需要的填入就好中间用逗号)
忽略空值 不要打勾
提供下拉接头 打勾
补充 你指增加显示的长度吧 最多8个再多我也不清楚了
相似回答