gpt4 book ai didi

excel - 将部分数组输出到范围而不循环?

转载 作者:行者123 更新时间:2023-12-04 21:49:08 25 4
gpt4 key购买 nike

将数组的一部分输出到范围的最快和最有效的方法是什么?

我可以很容易地将工作表范围读取到 VBA 数组:

Dim rng as Range
Dim arr() as Variant
set rng as whatever
arr = rng

我可以很容易地将数组写入工作表:
rng = arr

但是,如果我只想将数组的选定列重新复制到工作表中,例如第 24-26 列:
For i = 2 To 413497
For j = 24 To 26
Cells(i, j) = arr(i, j)
Next j
Next i

没有for-next循环,有没有最快的方法?

最佳答案

您可以使用 application.index:

Sub tst()

Dim rng As Range
Dim arr() As Variant, x
Set rng = Range("a1:ab500000")
arr = rng

x = Application.Index(arr, [row(2:413497)], Array(24, 25, 26))
Sheets(2).Cells(2, 1).Resize(413497, 3).Value = x

End Sub

关于excel - 将部分数组输出到范围而不循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57847708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com