button单击(VBA)将所有内容从列表框(variables行,常量列)复制到表中

我有一个用户表单,用户将从各种其他窗体控件(文本框,combobox等)填充列表框。 每个数据条目将有8列填充。 这个想法是,用户将input数据条目(这可能是在同一类别条目中的子条目,因此能够在列表框中一起查看条目的整个批次(或类别 ))的期望的function),查看input,如果检出,点击一个button为了提交数据到一个表格(这是数据处理模式的基础,根据input数据批次吐出图表等)。

所以我想编程以下内容: – 代码,查找主表中的下一个空行,并复制列表框的全部内容,从表中交换表中的相应单元格。 因此,每次input将是8列(列AH)和X行。

我已经尝试了许多不同的代码,从网上改编,但不断发现错误或只能复制第一个条目。

这是我尝试的最后一个代码示例:

Private Sub cmdEnter_Click() Dim LastRow As Range Dim ProjectsTable As ListObject Dim i As Long Sheets("Project data").ListObjects("Projects").ListRows.Add 'Enter data from form into our new row Set ProjectsTable = Sheets("Project data").ListObjects("Projects") Set LastRow = ProjectsTable.ListRows(ProjectsTable.ListRows.Count).Range With Sheets("Project data") For i = 0 To ListBox1.ListCount - 1 .Cells(LastRow, 1) = ListBox1.Column(i, 0) .Cells(LastRow, 2) = ListBox1.Column(i, 1) .Cells(LastRow, 3) = ListBox1.Column(i, 2) .Cells(LastRow, 4) = ListBox1.Column(i, 3) .Cells(LastRow, 5) = ListBox1.Column(i, 4) .Cells(LastRow, 6) = ListBox1.Column(i, 5) .Cells(LastRow, 7) = ListBox1.Column(i, 6) .Cells(LastRow, 8) = ListBox1.Column(i, 7) Next i End With End Sub 

任何人都可以帮我解决问题吗? 我会很感激任何指针。

解:

 Private Sub cmdEnter_Click() Dim ProjectsTable As ListObject Dim LastRow As Range Sheets("Project data").ListObjects("Projects").ListRows.Add 'Enter data from form into our new row Set ProjectsTable = Sheets("Project data").ListObjects("Projects") Set LastRow = ProjectsTable.ListRows(ProjectsTable.ListRows.Count).Range LastRow.Resize(ListBox1.ListCount, ListBox1.ColumnCount).Value = ListBox1.List End Sub 

信贷去@Nathan_Sav。 非常感谢!

像这样的东西

 Range("a1").Resize(Me.lstTabsAvailable.ListCount, Me.lstTabsAvailable.ColumnCount).Value = Me.lstTabsAvailable.List