如何自动化VBA宏来运行整个文件?

时间:2015-09-18 22:32:29

标签: vba excel-vba excel

我有一个VBA宏需要运行一个非常大的Excel文件(大约550,000行)。

我发现宏一次只能运行大约20,000行 - 任何比这更大的行,它会产生溢出'错误。

我现在唯一的解决方案是设置j(行号)= 1到20,000,运行它,然后将j从20,001设置为40,000,运行它,然后将j从40,001设置为60,000等....一路至550,000。

这是一个繁琐的过程,我想知道是否有任何方法可以自动化它,以便我不必再继续改变数字?

代码类似于:

Sub ExposedDays()
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim result As String
For j = 2 To 10000
k = 1
Do While Len(Worksheets("my8").Cells(j, k)) > 0
k = k + 1
Loop
Worksheets("my8").Cells(j, 131) = Worksheets("my8").Cells(j, k - 6)
Worksheets("my8").Cells(j, 132) = Worksheets("my8").Cells(j, k - 5)
.......

1 个答案:

答案 0 :(得分:2)

integer数据类型仅分配足够的内存来保存整数-32,768到32,767。当你:

dim j as integer

当j超过32,767时,将导致“溢出”错误。要解决此问题,您需要分配更大的数据类型。

Long数据类型足以容纳整数-2,147,483,648到2,147,483,647。 如果你:

dim j as long dim k as long

你应该可以避免这个错误。 希望这会有所帮助。