当前位置: 首页 > 知识库问答 >
问题:

vba将数据从集合写入listobject(性能)

令狐高洁
2023-03-14

我在将数据写入表(listobject)时遇到了低性能

我有一个对象集合,希望将它们逐行写入表中

For Each msrecord In mls.mlRecords
    Dim oNewRow As ListRow
    Set oNewRow = Sheets(mls.name).ListObjects(1).ListRows.Add(AlwaysInsert:=True)
    oNewRow.Range.Cells(1, 1).Value = msrecord.id
Next msrecord
Dim outputArray As Variant

Dim counter As Long
For counter = 1 To mls.mlRecords.Count

    outputArray(counter, 1).Value = msrecord.id
    outputArray(counter, 2).Value = msrecord.name
    outputArray(counter, 3).Value = msrecord.morefields

 Next

 Sheets(mls.name).ListObjects(1).DataBodyRange.Value = outputArray

共有1个答案

陆曜文
2023-03-14

在调用Redim之前,变量不是数组。在此之前,它是空的,这是变体的默认值。尝试在循环之前添加这个。

ReDim outputArray(1 to mls.mlRecords.Count, 1 to 3)
 类似资料:
  • 问题内容: 我想在Excel中编写一个宏,该宏将写入mysql数据库。有人可以帮我开始这个吗? 问题答案: 您可以使用连接字符串和ADO连接到MySQL: 您还可以使用Jet驱动程序将DSN与Excel连接使用:

  • 问题内容: 我跟随本文将一些数据发送到AWS ES,并使用了jar elasticsearch-hadoop。这是我的脚本: 然后运行以下命令行: 其中write_to_es.py是上面的脚本。 这是我得到的错误: 如何解决这个问题: 任何帮助或建议,我们将不胜感激。 问题答案: 我有同样的问题。 看完这篇文章,我找到了答案!!! 您必须像这样转换为Type:

  • 问题内容: 在我们的应用程序中,我们希望用户输入如下: 我想在单元测试中通过该部分,以便我可以恢复线程以执行其余代码。我如何从junit 写入内容? 问题答案: 你想要做的是使用的方法从。这将使您可以从junit 传递数据。

  • 在这里阅读SQLite文档时,当进程想要写入SQLite数据库时,它会获得一个保留的锁。然后,一旦进程准备好写入磁盘,它就会获得一个挂起的锁,在此期间,没有新的进程可以获得共享锁,但允许现有的共享锁完成它们的业务。一旦剩余的共享锁清除,进程就可以写。 然而,当我试图编写一个数据库,而其他进程正在从该数据库中读取时,我只会立即得到一个“错误:dataset被锁定”。 为什么SQLite不执行我上面概

  • 问题内容: 我正在尝试使用VBA将数据表从excel导入SQL Server 2012。 最好在UDF的帮助下。 excel表看起来像这样。 (我将数字放在单元格中以指定其位置。例如11 =第1行,第1列) 数据库表看起来像这样。 (这不包括“主键”列,该列可以是id和year的组合,也可以是a ) 我知道如何导入特定的列,例如,我可以运行以下代码: 这对于单个列非常有用,但是我将如何使其适用于整

  • 我正在使用一个表在Jaspersoft Studio 5.6.1中创建简单的报告。 通过 JRBeanCollectionDataSource 从 Java 向此报告发送数据。 在报告中,我已经可以获取此数据 vie 字段:报告- 现在我可以显示输入的数据了。 但如果我想在表中执行,我需要创建数据集(为什么?)并选择“使用用于填充主报告的相同连接”。将相同的字段添加到新数据集没有帮助,也没有为数据