VBA,群里求助的例子,处理数据后显示在combobox(组合框)里

1 combobox控件,显示A列处理后的数据,求助问题内容

  • QQ群玩家求助的内容,
  • 说是这样报错
  • 看了下,代码有问题  b=0 一般不应该在循环内,并且redim 不preserve 数组估计被不断重置了
  • 另外combobox1.list 报错不应该有问题,怀疑是写成了  comboboxl 或有几个 combobox 造成当前的不是combobox1

 

 

1.1 添加 combobox (组合框),实现下拉显示效果

 

1.2  ComboBox1_GotFocus()  事件中编辑代码

  • 修改了b=0 ,放在循环外
  • 修改ReDim Preserve arr1(1 To b)
  • 其实  调用countif统计大于0的数量,就不用循环中redim了 ,在循环内redim 很容易出问题的
  • 没有报错
Private Sub ComboBox1_GotFocus()
Dim arr
Dim arr1()
Dim a, b As Integer

arr = Range("a1:a12")
b = 0
For a = 1 To UBound(arr)
   If arr(a, 1) > 0 Then
        'b=0
        b = b + 1
        ReDim Preserve arr1(1 To b)
        arr1(b) = arr(a, 1)
   End If
Next a
ComboBox1.List = arr1
End Sub

 

1.3 运行后效果

 

2 combobox(组合框)控件相关

2.1 区分是 表单控件,还是 activeX控件

  • 表单控件的combobox好像没事件,只有绑定宏
  • ActiveX 控件 才有GotFocus,03版可在视图-工具栏-控件工具箱,打上勾,这个才会出来的中调出
  • 两者虽然都叫ComboBox,但一部分事件是不相同的。

 

2.2combobox 相关的事件

 

2.3 combobox相关的属性和方法

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值