我在处理一个非常大的文本文件(大约100兆左右)时遇到了困难。我已经提醒过要非常小心地使用redim preserve调用,但该函数仍然需要5分钟左右的时间才能运行。文本文件基本上就是我试图解析出来的子报告。我只能访问这个大文件。一个人应该做什么。VBA真的那么慢吗?这是代码,"Report“对象是我创建的一个类。大多数报告只有几百行,所以这就是为什么我选择1000作为ubound:
Public Function GetPages(originalFilePath As String) As Collection
Dim myReport As rep
我在vba中有以下代码,试图用从文本文件中提取的数据填充动态数组,但是出现了一个错误。
“下标超出范围”。
我确实尝试过用非零基数组来实现这一点,但是我也收到了同样的错误。
模块VBA
option explicit
Sub FromFileToExcel()
Dim Delimiter As String
Dim TextFile As Integer
Dim validRow As Integer
validRow = 0
Dim x As Integer
Dim i As Integer
Dim FilePath As String
Dim FileContent As Stri
我是第一次使用VBA。到目前为止,我成功地构建了一个模型。但是,我仍然希望加快计算速度(我已经关闭了ScreenUpdating、EnableEvents、xlCalculationAutomatic、DisplayPageBreaks)。我在网上读到for循环非常耗时。不幸的是,我真的有很多这样的东西。因此,我的问题是:
假设我有以下类型的代码:
For p = 1 To Periods
Demand(p) = Worksheets("Sheet1").Cells(3, 1 + p)
Next p
我的第一个问题:这个for循环真的减慢了运行时间吗?第二个问题:如何重写
我们目前正在使用LINQ来生成SQL查询,内部有一点魔力来处理特定案例的查询。
到目前为止,它一直运作良好,非常快,几乎没有任何问题。最近,我们在从数据库查询大量数据时遇到了效率问题。
我们将查询构造为这样:
var someIntList = new List<int> { 1,2,3,4,5 };
var query = dtx.Query.Containers.Where(c => c.ContainerID.IsIn(someIntList));
或
var someStringList = new List<int> {"a", "
我有Access数据库和Excel工作簿。我需要做的是查询数据库并将查询粘贴到工作表中。
问题是运行时。我已经完成了这个程序,所有工作都正常,但是它的工作非常慢,我们讨论的是每次查询最多30秒的运行时间,尽管大多数运行时都是随着CopyFromRecordset调用而来的。
数据库在我正在查询的表中有超过800 k行。目前,在我的公司里,每天早上都有人会手工查询表格,并将它们复制并粘贴到excel中。我在试着去除这个过程。
以下是我所拥有的:
Sub new1()
Dim objAdoCon As Object
Dim objRcdSet As Object