网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月09日漏签0天
vb吧 关注:156,019贴子:1,166,239
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回vb吧
>0< 加载中...

VBA 关于textbox和listbox清空的问题,请教大佬

  • 只看楼主
  • 收藏

  • 回复
  • synsky
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请教大佬,写了一个程序实现在sheet中查一个数据,查到后用listbox联想显示出来,用listbox的click事件完成选择,然后当我删除textbox1的信息重新输入第二次时,listbox还会保留上次的列表,思考了很久一直没找到合适的方法清空listbox,请大佬帮忙看看要怎么写,感谢!
Private Sub TextBox1_Change()
Dim i As Integer
Dim m_end As Integer
Dim k As Integer
If Len(Me.TextBox1.Value) >= 1 Then
Me.ListBox2.Clear
End If
k_end = Sheet4.Range("c65535").End(xlUp).Row
For k = 2 To k_end
If InStr(Sheet4.Range("a" & k), Me.TextBox1.Value) > 0 Then
Me.ListBox2.AddItem Sheet4.Range("a" & k)
End If
Next
If Me.ListBox2.ListCount > 0 Then
Me.ListBox2.Visible = True
Else: Me.ListBox2.Visible = False
End If


  • 璐村惂鐢ㄦ埛_0748V5Z馃惥
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没有发现造成“输入第二次时,listbox还会保留上次的列表”的情况的代码。因为这只是局部,会不会还有其他代码会干预list2?
可以在Me.ListBox2.Clear之后设立断点,查看是否清空。
另外,还有两点建议
1、去掉“If Len(Me.TextBox1.Value) >= 1 Then”判断。按照你说的只要有改变,list2就应该全部清空查找新的结果
2、Sheet4.Range("a" & k)可以预读到一个简单变量,避免多次访问文件,尤其是通过计算位置访问单元格。


2026-05-09 23:27:28
广告
不感兴趣
开通SVIP免广告
  • synsky
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
其他区域没有listbox的代码,只有一个click给textbox赋值,建议1我看了确实是你说的这样,删除了也没有影响。列表保留的问题我仔细看了下,在不输入任何信息的情况下,按空格键再按删除,listbox就会产生一个完整的姓名表单,是不是就代表insrt已经>0了,但是空格和range列的信息不一样也不好匹配啊?怎么还会有清单出来
谢谢!


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示