关于EXCEL VBA中数组下标越界的问题
Set rng = Sheet2.Range("A2:A" & Sheet2.[A65536].End(xlUp).Row + 1) arr = rng.Value For i = 1 To UBound(arr) - 1 Step 2 If Left(arr(i + 1), 3) = Left(arr(i), 3) Then …… 运行的时候提示if那一行下标越界,怎么解决这个问题?
Set rng = Sheet2.Range("A2:A" & Sheet2.[A65536].End(xlUp).Row + 1) arr = rng.Value 采用单元格区域直接赋值给数组的时候,并不像数组公式里那样,单行或者单列的单元格区域返回一维的水平或者垂直数组,而是像工作表行列分布一样的二维数组。 因此引用数组里的值时,必须使用二维引用的方式,即arr(i)是错误的,必须使用arr(i,1)的格式。
把If Left(arr(i + 1), 3) = Left(arr(i), 3) Then 这一句改为 If Left(arr(i + 1, 1), 3) = Left(arr(i, 1), 3) Then即可,因为按前面的语句形成的arr数组是二维数组。
答:这个太牛了。学习了详情>>
问:怎样用Camtasia Studio v2.0.3来制作媒体
答:这个软件有使用向导的,你新建一个文件,然后照着他的说明一步一步的走下去,就知道怎么用了,这个软件太小了,网上跟本找不到教程的,如果你确实还是不会的话,找个懂电脑...详情>>