微信小程序> VBA,range.resize()的用法,省略列数尤其注意要省略逗号,resize()里的参数不能是0或负数

VBA,range.resize()的用法,省略列数尤其注意要省略逗号,resize()里的参数不能是0或负数

浏览量:2362 时间: 来源:奔跑的犀牛先生

 

range().resize(x,y) 方法

语法

  • Range(i,j).resize(行数,列数)   
  • resize(x,y) 表示的区域,x是行,往下。Y是列,往右。重新定位出来的区域

 

  • resize() 得出的是一个区域范围!!!
  • 因为X 是表示行数,必须大于0
  • 因为Y是表示列数,必须大于0
  • resize(x,y)可以为负数吗?比如 resize(-1,-1)        NO 
  • resize(x,y)可以为0吗?  比如 resize(1,0)      NO

 

  • range().resize()的区域和range()关系不大
  • range() 提供了一个基点值  range(i,j).resize(1,1) 就表示位置不变

 

省略写法

  • Resize(,3) 表示不改变range()区域的行数 (注意不是行号,是行数!)
  • Resize(3,) 错误写法
  • Resize(3)  正确写法,表示不改变列数,逗号都省略,只改变行数
  • Range(,)   错误写法

 

 application.index() 结合 range.resize() 用法

  • 注意 application.index() 取出来的1行,resize() 也是一行,那么直接就匹配
  • 注意 application.index() 取出来的1列,resize() 也是一列,那么直接就匹配---反而不能转置
  • application.transpose()

 

 

 2 代码1:例子

Sub Jackma2()arr1 = Range("d1:g3")arr2 = Application.Index(arr1, 1, 0)arr3 = Application.Index(arr1, 0, 3)Debug.Print "arr2= ";For Each i In arr2   Debug.Print i;NextDebug.Print'Debug.Print LBound(arr2, 1)'Debug.Print UBound(arr2, 1)'Debug.Print LBound(arr2, 2) '发现range用index取出一行,居然不再是2维,而是1维数组'Debug.Print UBound(arr2, 2)'下面错误原因是,因为把这个当2维数组了'Cells(5, 4).Resize(0, UBound(arr2, 2)) = Application.Transpose(Application.Transpose(arr2))'Cells(5, 4).Resize(0, UBound(arr2, 2)).Interior.ColorIndex = 3'写回excel'Cells(5, 4).Resize(0, UBound(arr2, 1)) = arr2  '这样会报错!,写0不行?Cells(5, 4).Resize(, UBound(arr2, 1)) = arr2  '这样会报错!Cells(5, 4).Resize(, UBound(arr2, 1)).Interior.ColorIndex = 3Debug.Print "arr3= ";For Each j In arr3   Debug.Print j;NextDebug.Print'Debug.Print LBound(arr3, 1)'Debug.Print UBound(arr3, 1)'Debug.Print LBound(arr3, 2) '发现range用index取出一列,还是2维数组'Debug.Print UBound(arr3, 2)'写回excel'Cells(1, 9).Resize(UBound(arr3, 1), 1) = Application.Transpose(arr3)  会导致取出来的回填EXCEL的全是3'因为resize的形状也是列,反而只能用列直接怼进去,用行,只会取到第1个元素Cells(1, 9).Resize(UBound(arr3, 1), 1) = Application.Transpose(arr3)Cells(1, 9).Resize(UBound(arr3, 1), 1).Interior.ColorIndex = 6End Sub

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎