Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 我需要在140000行范围内运行一个循环_Loops_Resources_Range_Overflow - Fatal编程技术网

Loops 我需要在140000行范围内运行一个循环

Loops 我需要在140000行范围内运行一个循环,loops,resources,range,overflow,Loops,Resources,Range,Overflow,我需要在140K行的范围内运行一个循环。我一直收到一个溢出错误。我试着在3000行的范围内运行脚本,结果成功了。我尝试了一些节约资源的方法,但似乎没有任何效果。是否有可以使用的最大范围?在这个范围内运行循环有什么建议吗 代码应执行的操作示例: 第6栏:(1,1,1,1,2,2,3,3,3,4,4,6,6,6,6,6,6) -----> myarray1=(1,2,3,4,6) 第1列的值一直到第140000行 Sub transferCC() Dim i As Integer, counter

我需要在140K行的范围内运行一个循环。我一直收到一个溢出错误。我试着在3000行的范围内运行脚本,结果成功了。我尝试了一些节约资源的方法,但似乎没有任何效果。是否有可以使用的最大范围?在这个范围内运行循环有什么建议吗

代码应执行的操作示例: 第6栏:(1,1,1,1,2,2,3,3,3,4,4,6,6,6,6,6,6) -----> myarray1=(1,2,3,4,6) 第1列的值一直到第140000行

Sub transferCC()

Dim i As Integer, counter1 As Integer
Dim x As String, y As String

Dim myarray1() As String
Dim ws As Worksheet, ws1 As Worksheet, ws2 As Worksheet
Set ws = Sheets("Master")
Set ws1 = Sheets("CC List")

i = 2
counter1 = 0
x = "06331"

'save the unique CC values into myarray1
Do Until ws.Cells(i, 1) = ""
        x = ws.Cells(i, 6)
        y = ws.Cells(i + 1, 6) 'run-time error '6': overflow
            If x <> y Then
                ReDim Preserve myarray1(counter1)
                myarray1(counter1) = x
                Debug.Print myarray1(counter1)
                counter1 = counter1 + 1
            End If
i = i + 1
Loop


End Sub
Sub-transferCC()
Dim i为整数,计数器1为整数
尺寸x为字符串,y为字符串
将myarray1()设置为字符串
将ws作为工作表、ws1作为工作表、ws2作为工作表
设置ws=图纸(“主图纸”)
设置ws1=工作表(“抄送列表”)
i=2
计数器1=0
x=“06331”
'将唯一的CC值保存到myarray1中
直到ws.Cells(i,1)=“”
x=ws.Cells(i,6)
y=ws.Cells(i+1,6)'运行时错误'6':溢出
如果x是y,那么
雷迪姆保留阵列1(计数器1)
myarray1(计数器1)=x
调试。打印myarray1(计数器1)
计数器1=计数器1+1
如果结束
i=i+1
环
端接头
我想出来了。 它与y变量无关。 它停在第32767行,因为这将是i的值,我将其作为int而不是long进行调暗。 我做了一点debug.print工作,最后在google中搜索了32767,发现int变量只能指向32767


谢谢大家的努力

您正在接收的确切错误消息是什么,是哪一行抛出了该错误?另外,您使用的是哪一版本的VB?我看不出您在哪里递增
I
,这应该会产生一个无限循环。很抱歉,我在那里有增量,但当excel冻结时,它返回到上次保存的副本。在发布之前,我应该再做一点QC。Robert,我收到的错误消息是运行时错误“6”:溢出,当我尝试设置yit的值时,它会抛出错误。看起来代码保存了第6列中的8个值。在32562排。然后它抛出错误。。。