几年前用VBA些过简单的Excel。结果不知道谁把我会写宏的事捅出去了,这几天还有其他单位的人找我帮做自动化表格。虽然我是二把刀,VBA的语法都忘差不多了,而且我也知道VBA是很老的语言。但是……
VBA的阵列(array)语法真的麻烦的要命。比如生成一个不定行数的n行*2列的数据结构,Python直接循环时用 list.append((item1, item2)) 插数据搞定。
然后同样不断插数据,VBA要:
1. 先做一个2行*n列的阵列。没看错,是2行*n列。VBA array只能调整最后一个维度。
2. 专门定义一个变量记录列数,比如count
3. 然后循环体中不停地 count = count +1,然后 Redim Preserve arr(1 To 2, 1 To count) 调阵列大小
4. 再 arr(1, count) = xyz: arr(2, count) = abc 把最新数据写进去
5. 最后 WorksheetFunction.Transpose(arr) 把2行*n列转置成 n行*2列(而且如果列数比较多,这个函数就会GG;还要另写循环来转置)
这搞到我现在对VBA都有心理阴影。
上一篇:
刚看完灌篮高手,可惜就是最后彩蛋不行。下一篇:
我倒是真没想到。。。