从范围切换到数组并返回到VBA函数
在VBA中有很多问题和很多处理Range / Array转换的问题。 我一直没有find一个可行的答案,所以我真的会赞赏一些帮助。
以下是我想要做的:
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是要填充范围的左上angular单元格:
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)
- select与“inputRange”尺寸相同的范围(相同的行数/列数)
- 在公式栏中input“= RangeToArray([yourinputrange])”,然后按Ctrl + Shift + Enter将公式input为“数组公式”
这假设你没有改变函数中inputArray
的维数(上/下限)。