|
本帖最后由 opiona 于 2023-6-25 21:25 编辑
ReDim Preserve 的理解
ReDim Preserve ARX(1 TO INTA,1 TO INTB) INTA 是固定值, INTB 可以变化
如果想要INTB是固定值, 需要INTA 是变化的
则先将数组声明为: ReDim Preserve ARX(1 TO INTB,1 TO INTA)
代码中和常规的第一维度,第二维度是相反的
获得最终结果后 使用transpose 进行转置 就变成 ARX(1 TO INTA,1 TO INTB) 的了
注意 如果变化值 INTA,或INTB 比较大 例如:3W以上, 则运行会非常慢
这时 一般先将 INTA,或INTB 设置为最大值 或比可能最大值更大
使用第三个变量 INTX 记录行数
例如: INTX=0
给一行赋值时:
INTX=INTX+1
ARX(INTX,2)=xxxx
最后声明一个数组 redim TRX(1 TO INTX,1 TO UBOUND(ARX,2)
将有效行赋值给TRX 即可
for I=1 TO INTX
FOR ICOL=1 TO UBOUND(ARX,2)
TRX(I,ICOL)=ARX(I,ICOL)
NEXT
NEXT
|
|