VBA提高篇_26 Textbox多行_ListBox_ComboBox

文章目录

  • 1. 文本框多行换行
  • 2. ListBox: 列表框
    • 2.1 列表框中添加条目的三种方法:
  • 3. ComboBox 组合框: 属性方法等同于以上ListBox

1. 文本框多行换行

MultiLine: 控制文本框多行自动换行()
Enterkeybehevior:  True 代表允许在文本框中使用回车键换行
WordWrap: True 代表自动换行,False代表相反 ==> 控制文本换行
ScrollBars:    滚动条

VBA提高篇_26 Textbox多行_ListBox_ComboBox_第1张图片

2. ListBox: 列表框

2.1 列表框中添加条目的三种方法:

  1. RowSource属性: 单元格中读取数据
ListBox1.RowSource = "Sheet1! D2:D9"
  1. List属性 : 数组中读取数据,可将List视为一个变体数组
Private Sub UserForm_Initialize() ' 窗体刚被创建时执行此事件

    Dim a(4) As String
    a(0) = "光"
    a(1) = "日月星辰"
    a(2) = "空气"
    a(3) = "土地"
    a(4) = "水"
    
    '方法二: Rowsource属性与List属性冲突,不能混合使用,需先设置Rowsource的属性为空
    ListBox1.RowSource = ""
    ListBox1.List = a
End Sub

☆ Rowsource属性与List属性冲突,不能混合使用

  1. AddItem方法 : 每运行要一次,就可以为该列表框添加一个新的条目
' ListBox1.AddItem "新的条目(字符串)"
Private Sub UserForm_Initialize()
    Dim a(5) As String
    
    a(0) = "落霞与孤鹜齐飞"
    a(1) = "秋水长天共一色"
    a(2) = "心在山东身在吴"
    a(3) = "飘蓬江海谩嗟吁"
    a(4) = "他日若遂凌云志"
    
    ListBox1.List = a
    
    ListBox1.AddItem "敢笑黄巢不丈夫"
End Sub

  1. RemoveItem num: 将ListBOX中的当前编号为num(从0开始计数)的条目移除
    VBA提高篇_26 Textbox多行_ListBox_ComboBox_第2张图片
比如以下语句可以删除第4个条目(0开始编号为3)
''ListBox1.RemoveItem 3
Private Sub UserForm_Initialize()
    Dim a(5) As String
    
    a(0) = "落霞与孤鹜齐飞"
    a(1) = "秋水长天共一色"
    a(2) = "心在山东身在吴"
    a(3) = "飘蓬江海谩嗟吁"
    a(4) = "他日若遂凌云志"
    
    ListBox1.List = a
    
    ListBox1.AddItem "敢笑黄巢不丈夫"
    ListBox1.RemoveItem 0
    ListBox1.RemoveItem 0 '注意: 这里在移除的基础上再次移除,所以下标依旧为0
    
    
End Sub

VBA提高篇_26 Textbox多行_ListBox_ComboBox_第3张图片

  1. ListBox1.Value:
    • 属性: 当前选中的选项的值,如果没有选中,值为Null(),此时会报错,
Private Sub CommandButton1_Click()
    If Not IsNull(ListBox1.Value) Then '非常重要
        MsgBox ListBox1.Value
    End If
    
    
End Sub


Private Sub UserForm_Initialize()
    Dim a(5) As String
    
    a(0) = "落霞与孤鹜齐飞"
    a(1) = "秋水长天共一色"
    a(2) = "心在山东身在吴"
    a(3) = "飘蓬江海谩嗟吁"
    a(4) = "他日若遂凌云志"
    
    ListBox1.List = a
    
    ListBox1.AddItem "敢笑黄巢不丈夫"
    ListBox1.RemoveItem 0
    ListBox1.RemoveItem 0
End Sub
  1. ListBox1.ListIndex: 返回列表值的下标

3. ComboBox 组合框: 属性方法等同于以上ListBox

你可能感兴趣的:(#,VBA数据处理,VBA,excel,学习)