vba - 你如何 ReDim 多维数组中的第一个维度?
问题描述
看来我可以做到这一点:
ReDim Preserve myarr(1,x)
但不是这个:
ReDim Preserve myarr(x,1)
这种行为是故意的吗?如果是这样,我该如何解决?
解决方案
您需要先转置数组,然后对其进行更改,然后再次转置,使其保持原始格式。
Public Function TransArr(arr As Variant) As Variant
Dim x As Long, y As Long, j As Long, k As Long
Dim tmpArr As Variant
j = UBound(arr, 2)
k = UBound(arr, 1)
ReDim tmpArr(j, k)
For x = 0 To j
For y = 0 To k
tmpArr(x, y) = arr(y, x)
Next y
Next x
TransArr = tmpArr
End Function
值得注意的是,在 Access-vba 中 - .getrows 方法转储,将记录集 ps 到预先转置的数组中。
推荐阅读
- textfield - 文本字段问题 Xcode
- javascript - 删除搜索词后的参数
- javascript - 用户点击时如何关闭下拉菜单
- string - pcmpestri 字符单位和倒计时 - x86-64 asm
- c++ - 如何让我的元胞自动机更快
- python - django 无法识别 Signals.py 文件
- python - TensorFlow keras 训练 GAN 在大约 200 张图像后停止
- node.js - 如何使用节点 js 从后端 API 请求 apikey?
- vba - 如何设置具有两列的组合框的值?
- python - 如何让 selenium chromedriver 等到它最大化窗口?