Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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
Arrays Excel VBA-我应该使用多维数组还是选择案例结构来优化性能?_Arrays_Excel_Vba_Multidimensional Array - Fatal编程技术网

Arrays Excel VBA-我应该使用多维数组还是选择案例结构来优化性能?

Arrays Excel VBA-我应该使用多维数组还是选择案例结构来优化性能?,arrays,excel,vba,multidimensional-array,Arrays,Excel,Vba,Multidimensional Array,我有大约450000个单元格,其中一列包含数据。我一直在为一列使用selectcase结构来确定另一列的输出。但我注意到它可能会在每个单元格上迭代,从而导致更长的处理时间。我应该改用多维数组吗 以下是一个例子: Dim rng As Range, cl As Range Set rng = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row) For Each cl In rng Dim outCell2 As Rang

我有大约450000个单元格,其中一列包含数据。我一直在为一列使用selectcase结构来确定另一列的输出。但我注意到它可能会在每个单元格上迭代,从而导致更长的处理时间。我应该改用多维数组吗

以下是一个例子:

Dim rng As Range, cl As Range

Set rng = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)

For Each cl In rng

Dim outCell2 As Range
Set outCell2 = cl.Offset(0, 55)

Select Case Trim(cl.Text)

    Case "671518779618"

        outcell1` = "beyueuynemui"

    Case "671518779618"

        outcell1` = "beyueuynemui"

    Case "671518779618"

        outcell1` = "beyueuynemui"

End Select

我假设在这一切的结尾应该有下一个语句,outcell1`应该是outcell2。尽管如此,它当然会在定义范围内的每个单元格上迭代,这正是
For Each
循环的目的。这就引出了我的观点,除了速度慢之外,你的代码到底有什么问题?为什么你认为多维数组是解决方案?如果这是实际工作的代码,你的问题可能会问得更好。你真的想看每个单元格吗?谢谢你的输入。虽然我需要将代码的终止阶段放在最后,但我的代码实际上仍在工作。我先做数学计算,最后做其他事情。它大大减缓了事情的发展。你真是太棒了!我手头有大量的时间,与此无关:)
Dim ar as Variant
Dim i as Long

ar = rng
For i = 1 to UBound(ar,1)
    Select Case Trim(ar(i, 1))
        Case ...
            MyWorksheet.Cells(i, 55) = "beyueuynemui" 
        .....
    End Select
Next