怎么样增加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、在“数据”选项下的“数据有效性”“设置”中,选择“序列”;
2、来源中输入下拉菜单内容,以英文逗号分隔,或直接选择下拉菜单内容所在区域,确定后,即可生成下拉菜单。
假设所属行业比如“食品餐饮”,“图书录像”之类的字段在A2:A100单元格区域,且A1为标题行“所属行业”字段
步骤一:选中A1:A100后单击“插入”菜单栏里的“名称”-----选择“指定”----勾选“首行”----单击确定
步骤二:选择创建下拉列表的单元格-----并单击“数据”菜单栏里的“有效性”-在“设置”的“允许”里选择“序列”-----在下面的输入框输入“=所属行业”
通过这两步可以把A1到A100的内容快速输入到下拉列表里。
注:通过此方法可以把所有选中区域按第一行为名称来进行命名,且数据来源即本例的A1:A100区域不必在本表内,可以是同工作簿的其他工作表!
忽略空值 不要打勾
提供下拉接头 打勾
补充 你指增加显示的长度吧 最多8个再多我也不清楚了