gpt4 book ai didi

excel - 如何向数组添加不同的范围?

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

我有一个数据集,其中包含源文件中不同范围的数据,我想将其组合成一个范围并复制/粘贴到目标文件中。虽然联合工作,但我需要在一百个工作表上运行它,而且联合/复制/粘贴花费的时间太长。我想看看我是否会通过转换为数组来提高性能。
我已经尝试通过使用联合来组合范围来这样做,但是我无法让数组在这样做时初始化为多于一列。不知道我做错了什么?
这是一个例子。

sub CopyData()
dim LastR as long
dim dataArr as variant

with SourceWS
LastR = .cells(.rows.count,1).end(xlup).row

dataArr = .union(.range("A8:A" & LastR), _
.range("C8:C" & LastR), _
.range("H8:H" & LastR))

end with

DestWS.range("A1").resize(ubound(dataArr,1), ubound(dataArr,2)) = dataArr

end sub

最佳答案

我在另一个论坛上收到了一些帮助。以下完成了我正在尝试做的事情:

Sub CombineRanges()

Dim MyArr() As Variant
Dim MyRows as Variant

MyRows = Evaluate("ROW(1:20)")
MyArr = Application.Index(Columns("A:H"), MyRows, Array(1, 3, 8))
Range("Z1").Resize(UBound(MyArr, 1), UBound(MyArr, 2)).Value2 = MyArr

End Sub

关于excel - 如何向数组添加不同的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69951489/

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