vba动态给数组增加维度
由于动态数组只能增加第二维,所以在复制原二维数组时,就要求转换维度或交换维度中的数据.
动态数组应用举例:
``sub拆分表格()
dim arr'原数组,用于保存原表格中数据
dim arrnew()'动态数组,用于保存符合要求的数据
dim arrparameter'存放筛选内容的数据
dim Xdimension as long'一维数(行数)
dim Ydimension as integer'二维数(列数)
dim rowpara as integer'筛选要执行的次数
dim addrow as long'新数组的行数
arr=sheet1.ragne(“A1”).currentregion'写入sheet1中的数据到arr数组
arrparameter=sheet2.range(“A1”).currentregion'写入sheet2中的要筛选的内
容
for rowpara=1 to ubound(arrparameter)'逐次对比筛选内容
for Xdimension=2 To ubound(arr)'逐行对比原数据内容
If arrparameter(rowpara,1)=arrx(Xdimension,7)Then'判断筛选条件与原表中内容是否一致,数字7是表格中的特定列
addrow=addrow+1
redim Preserve arrnew(1 To ubound(arr,2),1 To addrow)'满足条件后增加一行新数据
for Ydimension=1 To UBound(arr,2)'通过循环写入行中的每一项目
arrnew(Ydimension,addrow)=arrx(Xdimension,Ydimension)'通过交换维度的方式写入到新的组:arrnew(列,行)=arr(行,列)
因篇幅问题不能全部显示,请点此查看更多更全内容