在按钮vba上每次单击时在列表框中添加新项目

时间:2017-04-21 14:59:25

标签: vba excel-vba listbox userform excel

我有一个带有多个组合框和文本框的用户窗体,只要单击“输入”按钮,就会向表中添加新条目。 我想添加的一个功能是有一个列表框,向用户显示他们所做的所有条目。因此,显示自表单加载以来所有新条目的列表,直到用户单击“清除”按钮。我想添加的另一个功能是用户可以选择列表框中的条目,将其加载回表单控件,以及编辑现有条目(如果他们发现错误)。

我已经使用8列预定了列表框(在“属性”中)。 我目前为列表框获取的代码位于Enter_click事件下,并与数据库代码一起使用:

Private Sub cmdEnter_Click()

Dim LastRow As Range
Dim xxxTable As ListObject

Sheets("abc").ListObjects("xxx").ListRows.Add

'Enter data from form into our new row
Set ProjectsTable = Sheets("abc").ListObjects("xxx")
Set LastRow = xxxTable.ListRows(xxxTable.ListRows.Count).Range

With LastRow
    .Cells(1, 1) = txta.Value
    .Cells(1, 2) = txtb.Value
    .Cells(1, 3) = cboc.Value
    .Cells(1, 4) = txtd.Value
    .Cells(1, 5) = txte.Value
    .Cells(1, 6) = cbof.Value
    .Cells(1, 7) = cbog.Value
    .Cells(1, 8) = txth.Value
End With

 'Inserts data into listbox

With ListBox1

.AddItem
.List(i, 0) = txta.Value
.List(i, 1) = txtb.Value
.List(i, 2) = cboc.Value
.List(i, 3) = txtd.Value
.List(i, 4) = txte.Value
.List(i, 5) = cbof.Value
.List(i, 6) = cbog.Value
.List(i, 7) = txth.Value
    i = i + 1

End With

End Sub

当列表框代码将数据添加到列表框时,它只添加一个条目并为每次单击而不是所需的“添加列表”进行编辑。 对于编辑,我甚至不确定从哪里开始。

对于从哪里开始解决我的两个问题的一些指示感激不尽。

有关更多背景信息,请参阅下面的用户表单图片:

Userform

0 个答案:

没有答案