我基本上试图看看这是否是从工作表中转换值并将其存储在二维整数数组中的有效方法。
到目前为止,我想出的是这段代码:
'Generate a random integer from cell A1 to J10
Sub numrange()
Dim r As Range
Set r = Range("A1:J10")
With r
.Formula = "=randbetween(1,100)"
.Copy
.PasteSpecial (xlPasteValues)
End With
'Turn A1 to J10 into a 2d array of integers
Dim arr As Variant
arr = Range("A1:J10")
arr = Range("A1").Resize(UBound(arr, 1), UBound(arr, 2))
非常感谢为使其成为有效数组而做出的任何澄清或编辑
答案 0 :(得分:0)
如果您想要一个纯 integer
数组的数组,那么您必须复制“逐个单元格”
Sub numrange()
Dim r As Range
Set r = Range("A1:J10")
r.Formula = "=randbetween(1,100)"
Dim arr As Variant
Dim i As Integer, j As Integer
arr = Range("A1:J10").Value
ReDim arrint(LBound(arr, 1) To UBound(arr, 1), LBound(arr, 2) To UBound(arr, 2)) As Integer
For i = LBound(arr, 1) To UBound(arr, 1)
For j = LBound(arr, 2) To UBound(arr, 2)
arrint(i, j) = arr(i, j)
Next
Next
End Sub