excel - 一维数组中的输入范围
问题描述
我正在做一些代码来将一个范围放入一个数组中,这样我就可以通过分析该数组中的数据来创建图。我正在尝试对范围使用通用代码,因为输入可能会根据我要执行的分析类型而有所不同。试图在其他问题中找到解决方案,但没有成功。
Dim DieBankArray As Variant
last_row = Sheets("Tabela CT geral").Range("A2").End(xlDown).Row 'Last row of the data set
For i = 0 To last_row - 2 '-2 to exclude the first line and another value because the array first position is 0, not 1
DieBankArray(i) = Range("A" & i + 2)
Next
返回是我无法理解的类型不匹配错误...
解决方案
这是一种方法:
Function RangeTo1DArray(rngStart As Range)
Dim rv(), arr, r As Long, n As Long
'read the source data to an array for better performance
With rngStart.Parent
arr = .Range(rngStart, .Cells(Rows.Count, rngStart.Column).End(xlUp)).Value
End With
n = UBound(arr, 1)
ReDim rv(0 To n - 1)
'Fill the output array. Note: purposefully not using transpose()
' to avoid its limitations
For r = 1 To n
rv(r - 1) = arr(r, 1)
Next r
RangeToArray = rv
End Function
推荐阅读
- c# - 我尝试用值替换字符串的一部分而得到 System.FormatException
- c# - 从本地主机到外部 API 的 HTTP GET 请求
- node.js - 尝试在主机 127.0.0.1 上收听但使用不同的端口
- android - 在服务中使用 WindowManager 时自定义视图不膨胀
- php - 如何防止会话变量被覆盖并显示结果?
- rust - 如何指定工作区成员只能在特定平台上构建?
- android - 如何将 ionic app android api 级别更新到 26 ..?
- angular - netcore mvc 在 spa 上的存在缓存了角度构建并破坏了 hmr
- pandas - 将 pandas datetime64[ns] 转换为 matplotlib date-float 用于 seaborn tsplot 中的日期 x 轴
- vba - Excel 公式到 VBA 函数