是否有一个更快的代码,用于向表中添加新行 – Excel VBA
我在表中添加一个新行,每次我的代码发现一个新的值添加到它。
我用这个Set newRow = ProjectTable.ListRows.Add
的代码工作正常。
但是这使得它运行非常缓慢。
有没有完成相同的代码,但运行速度更快?
Dim ProjectName As String Dim ResourceType As String Dim newRow As ListRow Dim RPLastRow As Long RPLastRow = RPSheet.Cells(Rows.Count, 1).End(xlUp).Row For Each cell In RPSheet.Range("A5:A" & RPLastRow) If cell = project Then Dim cRow As Long cRow = cell.Row 'enter resource type to table ResourceType = RPSheet.Range("B" & cRow).Value Set newRow = ProjectTable.ListRows.Add newRow.Range(1, 1).Value = ResourceType 'find amount of resources linked to project and add number to table ProjectName = project newRow.Range(1, 2).Value = Sheet2.NumberOfResources(ProjectName, ResourceType) End If Next cell
编辑:增加了一些额外的代码,所以它更清晰
更快的方法是将数据添加到表的最后,然后调整它的大小。
这是一个例子
ProjectTable.Resize Range("$A$1:$E$" & lRow)
哪里是新的最后一行
- 有什么公式可以在excel中创build超链接到另一个表单?
- 格式为“date”的单元格中的date未被识别为date
- 如何设想Excel是由自动化(VSTO Addin上下文)
- Excel VBA静态时间戳在Worksheet_Change事件中
- Excel 2016 – 删除列A中的重复行,同时合并列B中的数字
- 将Excelmath转换为JavaScript – 与ABS(Excel)到模数(JavaScript)的麻烦
- OpenXML电子表格中的单元格样式(SpreadsheetML)
- SQL查询结果放入Excel工作表的单独列中
- 从Reporting Services导入时,按Excel中的datesorting