每次我的代码找到要添加的新值时,我都会向表中添加一个新行
我用于此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
编辑:添加了一些额外的代码,以便更清晰
答案 0 :(得分:2)
更快的方法是将数据添加到表的末尾,然后简单地调整大小。
这是一个例子
ProjectTable.Resize Range("$A$1:$E$" & lRow)
lRow
是新的最后一行