|
孤梅独傲 发表于 2019-5-27 12:13
.Sheets("显示").Range("a1:" & Cells(ran.Rows.count, ran.Columns.count).Address).Value = ran.Value
...
上面有人回答了你的问题,这可以算作是标准方法,借助了数组做传递媒介;
我仔细考虑了你的提问,我想讲点range和cells的联系,或许对你理解上有帮助:
1、单元格是range,a1可以写成range("a1")或者写成[a1];
2、cells是range的变量表达方法,尤其适合循环,在help也是被推荐的方法:
range("a1")可以写成cells(1,1)
range("a1:b5")可以写成range(cells(1,1),cells(5,2)),其中cells(1,1)是第一行第一列就是a1,cells(5,2)是第5行第2列就是b5
range("c2")也可以写成cells(2,"c"),第二行c列,当然是c2了
range("d3:f7")可以写成range("d3",cells(7,6)),这里混用了"a1"和cells两种格式,你.Sheets("显示").Range("a1:" & Cells(ran.Rows.count, ran.Columns.count).Address).Value就是这种写法的变体,但我认为你写的很啰嗦了;
3、关于整体赋值:
range("d3",cells(7,6))=10,对"a3:f7"区域全部赋值10;如果要把一个单元格区域整体赋值给另一个单元格区域(跨表也可以),上楼是方法之一;另一种是用循环,逐一赋值。虽然从代码繁简程度看楼上的方法更简单也快,但我还是建议先学好循环,这是编程的基础,循环用不好基本上是学不好编程的;
|
|