Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1681|回复: 1

修改二级下拉菜单

[复制链接]
发表于 2017-3-25 22:34 | 显示全部楼层 |阅读模式

''一级下拉菜单
Private Sub UserForm_Initialize()
Set d = CreateObject("Scripting.Dictionary")
    i1 = [a65536].End(xlUp).Row
    arr1 = Range("A6:A" & i1)
    For i1 = 1 To UBound(arr1)
    s = d(arr1(i1, 1))
Next
UserForm1.ComboBox1.List = Application.Transpose(d.keys)
Set d = Nothing
ComboBox1.ListIndex = 0
End Sub


''二级下拉菜单
Private Sub ComboBox1_Change()
Dim myAddress As String
Dim rng As Range
Dim mymsg As Integer

ListBox1.Clear
With Range("A:A")
    Set rng = .Find(What:=ComboBox1.Text)
    If Not rng Is Nothing Then
        myAddress = rng.Address
        Do

            ListBox1.AddItem rng.Offset(, 1)
            Set rng = .FindNext(rng)
        Loop While Not rng Is Nothing And rng.Address <> myAddress
    End If
End With
End Sub

9T_)]}WJ$%M)MZHK2$D]R9W.png
QQ图片20170314202915.png

下拉菜单修改.rar

112.12 KB, 下载次数: 11

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-3-30 20:55 | 显示全部楼层
你的下拉菜单功能都实现了,还想修改什么?
如果要查询代码的话,查询什么内容,怎么输出你应该说明一下。
另,提个建议,既然你会用字典,为什么不在提取A列不重复值的同时就记录一下行号,
后面就不用FIND,FINDNEXT那么麻烦了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 04:03 , Processed in 0.294512 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表