gpt4 book ai didi

arrays - For-Next 循环和数组 - VBA

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

我一直犯同样的错误,我不知道它是什么。每次我做一个处理数组的 For-Loop 时(通常,尝试读取一个数组并将值写入第二个数组),它只从第一个数组中获取最后一个值并将其写入第二个数组的每个插槽中大批。

这是我正在研究的最简单/最短的副本。它应该从 A1:A10 中读取值并将它们写入 B1:K1。

Sub Problem1()
Dim a(1 To 10) As Single
Dim b(1, 10) As Single
Dim i As Integer



For i = 1 To 10
a(i) = Range("A" + CStr(i)).Value
Next i

For i = 1 To 10
b(1, i) = a(i)
Next i

Range("B1:K1") = b(1, 10)

End Sub

最佳答案

Range("B1:K1") = b(1, 10)

这只会复制一个数组元素。

您可以执行以下操作:
Range("B1:K1").Value = Application.WorksheetFunction _
.Transpose(Range("A1:A10"))

不幸的是,要将原始值存储在数组中(使用我的方法)需要将其声明为 Variant:
Sub Problem1()
Dim a As Variant

a = Range("A1:A10")

Range("B1:K1") = Application.WorksheetFunction.Transpose(a)
End Sub

如果您仍想同时使用这两个数组:
Sub Problem1()
Dim a As Variant
Dim b(1 To 10) As Single
Dim i As Integer

a = Range("A1:A10")
For i = 1 To 10
b(i) = a(i, 1)
Next i
Range("B1:K1") = b
End Sub

关于arrays - For-Next 循环和数组 - VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256563/

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