Excel精英培训网

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

[已解决][求助] 怎么实现这样的操作?

[复制链接]
发表于 2012-3-29 14:24 | 显示全部楼层 |阅读模式
如附件所示,a列为数据,第一行是变量名city。我在考虑这样的一个操作:我如果在文本框里输入变量名city,下面的组合框会出现city变量下面各个城市的列表。我现在初步的打算是再做一个按钮,输入city以后,摁下按钮,然后根据第一列的数据做一个字典,然后字典的key赋值给组合框。可这么做似乎有点麻烦,有没有更好的方法?输入city以后可以让组合框自动出现城市的列表?
谢谢啦
最佳答案
2012-3-29 15:00


  1. Private Sub TextBox1_Change()
  2.     On Error Resume Next
  3.     Dim Arr, i&, d, s$, m As Byte
  4.     Set d = CreateObject("scripting.dictionary")
  5.     s = UCase(TextBox1.Text)
  6.     Arr = Range("a1").CurrentRegion
  7.     m = Application.Match(s, Application.Index(Arr, 1, 0), 0)
  8.     If Err.Number = 0 Then
  9.         For i = 2 To UBound(Arr)
  10.             d(Arr(i, m)) = ""
  11.         Next i
  12.         ComboBox1.List = d.keys
  13.     Else
  14.         ComboBox1.Clear
  15.     End If
  16.    
  17. End Sub
复制代码
一个事件代码就可以了。
具体看附件设置。

test.zip

11.45 KB, 下载次数: 20

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-3-29 15:00 | 显示全部楼层    本楼为最佳答案   


  1. Private Sub TextBox1_Change()
  2.     On Error Resume Next
  3.     Dim Arr, i&, d, s$, m As Byte
  4.     Set d = CreateObject("scripting.dictionary")
  5.     s = UCase(TextBox1.Text)
  6.     Arr = Range("a1").CurrentRegion
  7.     m = Application.Match(s, Application.Index(Arr, 1, 0), 0)
  8.     If Err.Number = 0 Then
  9.         For i = 2 To UBound(Arr)
  10.             d(Arr(i, m)) = ""
  11.         Next i
  12.         ComboBox1.List = d.keys
  13.     Else
  14.         ComboBox1.Clear
  15.     End If
  16.    
  17. End Sub
复制代码
一个事件代码就可以了。
具体看附件设置。

test.rar

12.92 KB, 下载次数: 15

回复

使用道具 举报

发表于 2012-3-29 15:33 | 显示全部楼层
为什么非要用VBA代码呢?

用窗体组合框 再加上定义名称一样可以实现~!
回复

使用道具 举报

 楼主| 发表于 2012-3-29 16:04 | 显示全部楼层
lucking551 发表于 2012-3-29 15:33
为什么非要用VBA代码呢?

用窗体组合框 再加上定义名称一样可以实现~!

因为city里面的变量个数是变化的,不单单附件里面的这几个城市
回复

使用道具 举报

 楼主| 发表于 2012-3-29 16:13 | 显示全部楼层
liuguansky 发表于 2012-3-29 15:00
一个事件代码就可以了。
具体看附件设置。

学习了 多谢多谢 :)
回复

使用道具 举报

发表于 2012-3-29 21:02 | 显示全部楼层
学习了 多谢多谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 20:47 , Processed in 0.344048 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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