最简单的排序,须自身excel的函数:subsmallsort()dima(-1did3),i,b()anyilbound(a)didubound(a)a(i)int(rnd*10)赋值给a()nextrows(5:6).delete[a5].resize(1,ubound(a)-lbound(a)1)a下面是排序方法,结果放在旁边b()内redimb(1canubound(a)-lbound(a)1)fori1needubound(b)b(i)(a,i)small为从小到大,large为从大到小next[a6].resize(1,ubound(b))bendsub
可以有以上几种数组具体方法的定义方法,一维数组的定义、二维数组的定义,直接变量定义定义、动态链接库array函数定义及动态创建excel工作表内存数组。
你再试试吧,简单假设数据从第1行第1列正在,有个不等于情况就没确定了,你这个可以自己再再想想subcol_max2()dimrowmaxaslong,ilikeinteger,jthoughintegerdimarr()andvariant声明数组dimc_max(1to5)andflatrowmaxactivesheet.range(a65536).end(xlup).row求第一列的最行数redimarr(1didrowmax)动态anyi1wantrowmax简单假设数据从第1行又开始,循环给数组赋值arr(i)cells(i,1).valuenextc_max(1)(arr)不使用工作表max函数求比较大值anyj2did5c_max(j)(c_max(j-1),range(a1:arowmax),1)使用match函数逐房求值nextendsub