VBA中列表框的修改

VBA中列表框的修改,vba,listbox,ms-word,Vba,Listbox,Ms Word,我在Word中创建了一个Userform,它从excel工作表中导入3列数据,将其插入书签和Word文档的名称中,并将其保存为pdf 现在我想在表单中添加一个列表框,以便能够手动添加、修改和删除通常从excel工作表导入的输入 我已经知道如何将3个文本框中的数据添加到3列列表框中,但即使在谷歌搜索数小时后,我也找不到一个好方法来修改所选数据 VB.net具有.selectedItem属性,VBA没有。谁能给我举个例子,如何修改一个值为3个文本框的多列列表框 提前感谢您需要遍历列表框。选中并检查它

我在Word中创建了一个Userform,它从excel工作表中导入3列数据,将其插入书签和Word文档的名称中,并将其保存为pdf

现在我想在表单中添加一个列表框,以便能够手动添加、修改和删除通常从excel工作表导入的输入

我已经知道如何将3个文本框中的数据添加到3列列表框中,但即使在谷歌搜索数小时后,我也找不到一个好方法来修改所选数据

VB.net具有.selectedItem属性,VBA没有。谁能给我举个例子,如何修改一个值为3个文本框的多列列表框


提前感谢

您需要遍历
列表框。选中
并检查它是否为
。一旦你得到一个
True
值,你就可以处理这个项目了

示例代码添加一些带有列的项目,并设置一个单击事件来运行选定的
项目

Private Sub ListBox1_Click()
    Dim i As Integer
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            Debug.Print ListBox1.List(i, 0)
        End If
    Next i
End Sub

Private Sub UserForm_Initialize()
    ListBox1.AddItem "test"
    ListBox1.AddItem "test1"
    ListBox1.AddItem "test2"

    ListBox1.ColumnCount = 3
    ListBox1.ColumnHeads = True

    ListBox1.List(1, 0) = "change to 1,0"
    ListBox1.List(1, 1) = "change to 1,1"
    ListBox1.List(1, 2) = "change to 1,2"
End Sub
依次单击每个项目后,带有即时窗口的表单图片


您需要遍历
列表框。选中
并检查它是否为
。一旦你得到一个
True
值,你就可以处理这个项目了

示例代码添加一些带有列的项目,并设置一个单击事件来运行选定的
项目

Private Sub ListBox1_Click()
    Dim i As Integer
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            Debug.Print ListBox1.List(i, 0)
        End If
    Next i
End Sub

Private Sub UserForm_Initialize()
    ListBox1.AddItem "test"
    ListBox1.AddItem "test1"
    ListBox1.AddItem "test2"

    ListBox1.ColumnCount = 3
    ListBox1.ColumnHeads = True

    ListBox1.List(1, 0) = "change to 1,0"
    ListBox1.List(1, 1) = "change to 1,1"
    ListBox1.List(1, 2) = "change to 1,2"
End Sub
依次单击每个项目后,带有即时窗口的表单图片