精华内容
下载资源
问答
  • VBA组合框

    千次阅读 2016-01-15 21:40:31
    如果组合框内容既定,则在编程时写入即可: Private Sub ComboBox1_Enter() ComboBox1.DropDown End Sub Private Sub xx_Initialize() ComboBox1.AddItem "小明" ComboBox1.AddItem "小红" ComboBox1.AddItem "小刚...

    如果组合框内容既定,则在编程时写入即可:

    Private Sub ComboBox1_Enter()
    ComboBox1.DropDown
    End Sub
    Private Sub xx_Initialize()
    ComboBox1.AddItem "小明"
    ComboBox1.AddItem "小红"
    ComboBox1.AddItem "小刚"
    End Sub

    如果需要在代码外随时修改组合框内容,方法如下:

    如在sheet1中写入n个组合框的内容,然后可在一个模块中单独写组合框代码:

    Sub 添加组合框资料(组合框名称 As Object, 数据标题 As String)
      Dim Mrg As Range
        Dim K As Integer
          Set Mrg = Sheets("Sheet1").Rows(1).Find(<span style="font-family: Arial, Helvetica, sans-serif;">数据标题</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span>
            K = 0
            Do While Len(Mrg.Offset(K, 0)) <> 0
              K = K + 1
             组合框名称.AddItem Mrg.Offset(K, 0)
        Loop
    End Sub

    最后,在需要使用哪个组合框就在该组合框使用前初始化即可:

    添加组合框资料 组合框名称, "数据标题"


    展开全文
  • 组合框中输入内容,自动定位到相近位置。
  • 他山之石——VBA列表框和组合框

    千次阅读 2018-07-02 18:30:41
    继续学习VBA!不过,这部分都属于“控件”级编程,比较琐碎,偏“前端”一点,在目前的工作中用的不多。毕竟,在数据分析、自动化领域中,界面不是必须的,而数据处理逻辑及数据质量(准确性、完整性)则是重中之重...

    继续学习VBA!不过,这部分都属于“控件”级编程,比较琐碎,偏“前端”一点,在目前的工作中用的不多。

    毕竟,在数据分析、自动化领域中,界面不是必须的,而数据处理逻辑及数据质量(准确性、完整性)则是重中之重。界面可以说是更高层次的要求了,在时间、成本的约束下,界面这个“范围”自然要受到挤压了。


    展开全文
  • access vba组合框控件

    2012-04-16 11:47:08
    2个组合框链接不同的数据,然后,一个组合框更改,导致另一个组合框内容更改,通常另一个组合框与更改的组合框是父子关系 Private Sub 街道_AfterUpdate() If Trim(街道) &lt;&gt; "" Then ...

    2个组合框链接不同的数据,然后,一个组合框更改,导致另一个组合框内容更改,通常另一个组合框与更改的组合框是父子关系

    Private Sub 街道_AfterUpdate()
       If Trim(街道) <> "" Then
         社区 = ""
         社区.RowSource = "SELECT 社区.社区名称,社区.街道名称 FROM 社区  where 街道名称='" & 街道 & "' ORDER BY 社区.社区名称"
         社区.Requery
        Else
         社区.RowSource = "SELECT 社区.社区名称,社区.街道名称 FROM 社区 ORDER BY 社区.街道名称,社区.街道名称"
         社区.Requery
       End If
    End Sub

    展开全文
  • 学习资源:《Excel VBA从入门到进阶》第57集 by兰色幻想本节讲述列表框和组合框。如下图所示,列表框,顾名思义,用于提供一组条目(数据项),用户可以用鼠标选择其中一个或者多个条目,但是不能直接编辑列表框的...

    556e9750baec64785753689815947689.png

    学习资源:《Excel VBA从入门到进阶》第57集 by兰色幻想


    本节讲述列表框和组合框。

    如下图所示,列表框,顾名思义,用于提供一组条目(数据项),用户可以用鼠标选择其中一个或者多个条目,但是不能直接编辑列表框的数据。而组合框是文字框+下拉菜单的组合形式,用户可以从下拉菜单选择条目。

    eb36748aed44430b1185ec80283949eb.png

    一、组合框的显示

    1. 显示多列内容

    rowsource属性:可以从工作表中导入数据 。

    Columnheads属性:显示列标题,只在引用工作表数据源时才有效,而且数据源不能包括标题行。

    ColumnCount属性:设置组合框可显示的列数。

    TextColumn属性:选取多列时显示第N列的内容。

    BoundColumn属性:指定返回第N列的值,作为窗体的数值。

    e7045bbe309d770481f5650737fc19f0.png
    工作表数据
    Private Sub CommandButton1_Click()
    '点击初始化数据
    
    商品.RowSource = "sheet3!A2:C5" '导入工作表数据(不用包含列标题)
    商品.ColumnCount = 3
    商品.ColumnHeads = True '显示列标题
    商品.TextColumn = 1 '组合框中显示第1列,即商品的名称
    商品.BoundColumn = 2 '选取后第2列为作为控件的默认值,即商品的数量
    
    End Sub
    
    Private Sub 商品_Change()
    '商品窗体数值变化
    If 商品.ListIndex <> -1 Then '组合框没选取时listindex会返回-1
        TextBox1 = 商品.Value 
         'TextBox1要显示商品数量,上面已经用BoundColumn把商品控件的默认值设定第2列的值
        TextBox2 = 商品.List(商品.ListIndex, 2) 
         'TextBox2要显示商品单价,List即数据源的数值,以第一列作为索引0,显示索引后第二个的值
    End If
    End Sub

    bb7ba5e4ec070dbce8967a6426e97e6b.gif

    2. 获得焦点自动打开下拉列表

    Private Sub 商品_Enter()
      商品.DropDown
    End Sub

    设置了这一段,点控件空白处就会显示下拉列表,没设置就只能点旁边的按钮。

    15fd83aaf15e9632de75909f40dc19d8.png

    3. 下拉列表显示最大行数

    ListRows属性设置,不含标题行。

    a6df40a2e2d45b87cf1824c35134a816.png

    4. 组合框下拉按钮的图标

    ShowDropButtonWhen 属性:可以设置是否显示下拉按钮图标。如果写了获得焦点自动打开下拉列表的代码,似乎不设置也行,但有图标会比较清晰。

    DropButtonStyle 属性:设置下拉按钮的类型。

    78c503f79b38feaf12f2ba81b005bd3c.png

    5. 设置列宽

    ColumnWidths属性:设置下拉列表的列宽,可以用三种单位:厘米、磅、英寸。

    用分号隔开,数值和单位之间要留一个空格。

    商品.ColumnWidths = "70 磅;60 磅;67 磅" '以磅为单位
    商品.ColumnWidths = "2 厘米;2 厘米;5 厘米" '以厘米为单位
    商品.ColumnWidths = "2 英寸;2 英寸;3 英寸" '以英寸为单位

    二、 组合框的功能

    1. 向组合框内添加内容

    有以下四种方法:

    ① 使用additem方法添加

    Private Sub UserForm_Initialize()
    商品.AddItem "A"
    商品.AddItem "B"
    商品.AddItem "C"
    End Sub

    e64e3714b669ca8562400e5113b70faa.png

    ② 使用常量数组添加

    Private Sub UserForm_Initialize()
    商品.List = Array("A", "B", "C")
    End Sub

    ③ 使用VBA数组添加

    Private Sub UserForm_Initialize()
    Dim arr(1 To 3), x
    For x = 1 To 3
       arr(x) = Cells(x + 1, "A")    '导入单元格A2,A3,A4的值,也就是ABC,见上面工作表截图。
    Next x
    商品.List = arr
    End Sub

    ④ 创建和单元格链接

    Private Sub UserForm_Initialize()
    商品.RowSource = "sheet3!A2:A4"
    End Sub

    2. 删除指定行RemoveItem

    Private Sub CommandButton3_Click()
    
    '删除指定行
    商品.RemoveItem 1 
    
    '删除选中的行ListIndex属返回选定的行数,不能删除rowsourse设置的填充数据
    商品.RemoveItem 商品.ListIndex
    End Sub

    3. 提取选取的多列内容

    List(行数,列数) 

    行和列都是从0开始算起的。

    4. 是否可以输入列表内容以外的内容

    MatchRequired 属性值为true时,必须输入组合框中含有的。如果为false,可以输入下拉列表中没有的数值。

    三、列表框的属性和方法

    大部分属性和组合框相同,所以就不赘述了,只说列表框独有的。

    1. ListStyle值为0时,样式为默认样式,无单选或多选框,如果为1时则有,0则无。

    36d787332b0d610b347ddea8985a5041.png
    默认样式

    903497d5a9ad4d853f86c99cf07e8a7a.png
    多选框

    2. Selected(行数) 可以判断列表框中某行是否被选取,可获取多个行数,是一个集合。

    Private Sub CommandButton1_Click() '显示选取的行
    Dim x As Integer
    For x = 0 To LB1.ListCount - 1
       'Selected是选取的集合
       If LB1.Selected(x) = True Then 
          'list(行,列)来表示在列表框中的位置 ,行与列都是从0开始
          MsgBox x & "  "&LB1.List(x, 0) 
       End If
     Next x
    End Sub

    a0da122e8123b8f1f7d384b251fc5838.png
    选取第一行“界面”,但它的行列从0开始,所以显示的是0。

    3. ListCount 属性:列表框的条目个数。(在上例也有使用到)

    4. MultiSelect 属性值为0 只能选一个,1可以用鼠标点击多选或取消,2 需要按Shift或Ctrl才能多选。

    2d7a9145e33f92c6b6dd86b5e51c00ad.png

    没想到这个专栏停更了这么久还有陆续的点赞和关注,不好意思再拖更了……还有23篇,今年内一定要把它给完结了(再次立flag,也欢迎大家催更)。

    展开全文
  • 学习资源:《Excel VBA从入门到进阶》第57集 by兰色幻想本节讲述列表框和组合框。如下图所示,列表框,顾名思义,用于提供一组条目(数据项),用户可以用鼠标选择其中一个或者多个条目,但是不能直接编辑列表框的...
  • Access VBA动态修改组合框数据源

    千次阅读 2018-04-11 15:41:05
    iamlaosong文根据输入的工厂简称动态修改发货客户和收货客户两个组合框的数据源:'输入工厂后根据工厂修改收发客户的数据源供录入选择,同时生成LoadTo Private Sub FAbbr_AfterUpdate() Me!LoadTo = Me!Load &...
  • 去年因为工作需要用VBA做了一个下单表,跟大家分享下里面组合框控件的组合使用,交互性和操作性都比较友好,效果见下面GIF动图。通过筛选区域和店铺等级让店铺明细动态变化,用了3个ListBox组合框控件实现。区域LB3...
  • 2、添加组合框点击开发工具-插入-选择ActiveX中的组合框控件,分别添加三个,组合框默认的名字分别是:ComboBox1,ComboBox2,ComboBox3,分别对应省,市,地区,然后自己排版一下控件的位置即可。添加组合框3、进入...
  • 我们知道,用XML文件传输文件有很多好处,现在我们来做一个简单的小程序--一个省对应它的市在列表中显示出来首先我们得制作一个窗体,具体布局如下图首先我们得有一些基本信息,省市的基本信息然后我们制作一个窗体...
  • 去年因为工作需要用VBA做了一个下单表,跟大家分享下里面组合框控件的组合使用,交互性和操作性都比较友好,效果见下面GIF动图。通过筛选区域和店铺等级让店铺明细动态变化,用了3个ListBox组合框控件实现。区域LB3...
  • 组合框或列表框添加元素一、RowSource属性添加元素二、为工作表中的ActiveX控件中的列表框添加元素三、使用list属性添加元素四、使用additem方法添加列表项五、列表框的其他属性 一、RowSource属性添加元素 ...
  • VBA--用类实现组合框联动

    千次阅读 2018-07-12 11:36:47
     .ListIndex = 0 '使复合中默认显示第一个数据 End With End Sub Private Sub UserForm_Initialize()  Dim i As Integer, dic As Object  Set dic = CreateObject("scripting.dictionary") '创建一个字典来存储...
  • 首先呢,我们画一个类似图中的两个复合 在UserForm_Initialize事件中键入如下代码 Private Sub UserForm_Initialize() Dim i As Long, j As Long Dim col As New Collection Dim rng As Range ...
  • 今天我们来介绍下ActiveX控件中的前两个控件,命令按钮,组合框。一、命令按钮命令按钮,CommandButton,常用于点击后能实现某一功能,例如我们常见的保存按钮。下面介绍下命令按钮常用的几个属性:camption属性,...
  • excel 中vb组合框 多列Excel组合框 (Multi-Column Excel Combo Box) With Excel VBA programming, you can add a Combo Box to the worksheet, to show a data validation list. Usually a single column combo box ...
  • 但是拖放组合框后,如何在其中增加内容呢?笔者给出操作步骤:(1)将组合框拖放到文档中,如图1所示。(2)单击右键,在右键快捷菜单中选择【查看代码】命令,如图2所示。 (3)进入代码编辑区,输入以下代码:...
  • 今天我们来介绍下ActiveX控件中的前两个控件,命令按钮,组合框。一、命令按钮命令按钮,CommandButton,常用于点击后能实现某一功能,例如我们常见的保存按钮。下面介绍下命令按钮常用的几个属性:camption属性,...

空空如也

空空如也

1 2 3 4 5 6
收藏数 106
精华内容 42
关键字:

vba组合框