2013-07-24 66 views
2

快速的问题:VBA Excel的操作范围与每个

我设定了三个范围sourceRng1sourceRng2targetRng。所有的大小相等。

我要实现这一点:

For each cell in targetRng 
    cell.value = sourceRng1/sourceRng2 
next cell 

其中sourceRng1sourceRng2索引跳跃在每个迭代一步。

因此,如果的sourceRng1sourceRng2所述第一和第二值是在第一次迭代和4 71 3

然后cell.value = 4/1。第二个是cell.value = 7/3

有关如何进行此操作的任何建议?

+0

似乎你知道如何去做。 – matzone

回答

2
Dim x as long 
For x=1 to targetRng.cells.count 
    targetRng.Cells(x).value = sourceRng1.cells(x).value/sourceRng2.Cells(x).value 
next cell 
+0

+1 - 短而甜。做得很好。 –

1

有一个非VBA溶液,以及:

  1. 选择targetRng
  2. 型式=sourceRng1/sourceRng2
  3. Ctrl键 + + 输入进入此作为一个Array formula

enter image description here

坏处是,你不能编辑 - 例如删除 - 单独的数组部分,只有当你选择整个区域=>确保使用不同的背景颜色或注释来区分targetRng与其他单元格。