有很多的问题,很多的处理在VBA范围/阵列转换的响应。 我一直没能找到问题的解答,所以我真的apreciate一些帮助。
下面是我想要做的事:
Function RangeToArrayToRange(inputRange As Range) As Range
Dim inputArray As Variant
inputArray = inputRange
'operations on inputArray'
'...'
Dim outputRange As Range
outputRange = inputArray
Set RangeToArrayToRange = outputRange
End Function
在此先感谢您的帮助!
如果outputRange要填充的范围的左上角单元格:
outputRange.Resize(Ubound(inputArray,1), _
Ubound(inputArray,2)).Value = inputArray
编辑 :我想这是你想要做什么
Function RangeToArray(inputRange As Range) As Variant
Dim inputArray As Variant
inputArray = inputRange.Value
'operations on inputArray
'...'
RangeToArray = inputArray
End Function
您可以在工作表上用这个作为一个用户定义函数(UDF)
- 选择的范围是相同的尺寸为“inputRange”(相同数目的行/列的)
- 输入 “= RangeToArray([yourinputrange])” 中的公式栏和按下Ctrl + Shift + Enter键输入公式为 “阵列式”
这是假设你没有改变的尺寸(上/下限) inputArray
在你的函数。